正态分布(高斯分布)
简介
正态分布(又名高斯分布)是一种关键的概率分布,用于描述众多自然和社会现象的数据分布。它的图形是钟形的,以平均值为中心,两边呈对称性递减。
特征
正态分布可以用两个参数来完全描述:文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/15234.html
均值(μ):表示数据的平均值,分布的峰值位于 μ 处。 标准差(σ):表示数据的离散程度,数值越大,分布越平坦。文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/15234.html
生成正态分布数据
NumPy 提供了 random.normal()
函数来生成服从正态分布的随机数。该函数接受以下参数:文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/15234.html
loc
:正态分布的均值,默认为 0。 scale
:正态分布的标准差,默认为 1。 size
:输出数组的形状。文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/15234.html
示例:生成 100 个服从正态分布的随机数,均值为 5,标准差为 2:文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/15234.html
python
import numpy as np
data = np.random.normal(loc=5, scale=2, size=100)
print(data)
可视化正态分布
Seaborn 库提供了便捷的函数来可视化分布,包括正态分布。文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/15234.html
示例:绘制服从正态分布的数据的分布图:文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/15234.html
python
import seaborn as sns
import numpy as np
data = np.random.normal(size=1000)
sns.distplot(data)
plt.show()
应用
正态分布在许多领域都有应用,例如:文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/15234.html
统计学:用于推断总体参数,进行假设检验等。 机器学习:用于数据预处理,特征工程等。 金融:用于建模股票价格、汇率等金融数据。 工程:用于控制质量、可靠性分析等。文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/15234.html
练习
- 生成 500 个服从正态分布的随机数,均值为 10,标准差为 3,并绘制它们的分布图。
- 比较不同标准差下正态分布形状的变化。
- 利用正态分布来模拟一次考试成绩,并计算平均分和标准分。
解决方案
python
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
# 1. 生成服从正态分布的随机数并绘制分布图
data = np.random.normal(loc=10, scale=3, size=500)
sns.distplot(data)
plt.show()
# 2. 比较不同标准差下正态分布形状的变化
sns.distplot(np.random.normal(size=1000, scale=1), label="σ=1")
sns.distplot(np.random.normal(size=1000, scale=2), label="σ=2")
sns.distplot(np.random.normal(size=1000, scale=3), label="σ=3")
plt.legend()
plt.show()
# 3. 模拟考试成绩并计算平均分和标准分
scores = np.random.normal(loc=80, scale=10, size=100)
print("平均分:", scores.mean())
print("标准分:", (scores - scores.mean()) / scores.std())
解释:文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/15234.html
在第一个练习中,我们生成了 500 个服从正态分布的随机数,均值为 10,标准差为 3,并使用 Seaborn 的 distplot()
函数绘制了它们的分布图。 在第二个练习中,我们生成了三个服从正态分布的数据集,分别设置标准差为 1、2 和 3,并使用 Seaborn 的 distplot()
函数绘制了它们的分布图。我们可以观察到,随着标准差的增加,分布变得更加平坦,两侧的尾巴更加明显。 在第三个练习中,我们模拟了一次考试成绩,假设成绩服从正态分布,均值为 80,标准差为 10。然后,我们计算了考试成绩的平均分和标准分。
评论