在Python中,你可以使用`numpy`和`scipy`库来拟合正态分布曲线。以下是使用这些库拟合正态分布的基本步骤:
1. 导入必要的库:
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
2. 生成或获取数据集。
3. 使用`stats.norm.fit()`方法拟合正态分布参数。
4. 使用`numpy.linspace()`生成用于绘图的x值。
5. 计算正态分布的概率密度函数值。
6. 使用`matplotlib`绘制正态分布曲线。
下面是一个简单的示例代码:
生成数据
data = np.random.normal(loc=0, scale=1, size=1000)
拟合正态分布参数
params = stats.norm.fit(data)
mean, std_dev = params
绘制直方图
plt.hist(data, bins=30, alpha=0.5, color='blue', edgecolor='black')
绘制拟合曲线
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = stats.norm.pdf(x, mean, std_dev)
plt.plot(x, p, 'k', linewidth=2)
显示图形
plt.show()
输出拟合参数
print(f'Mean: {mean}, Std Dev: {std_dev}')
这段代码首先生成1000个服从标准正态分布的随机数,然后使用`stats.norm.fit()`方法来估计这些数据的均值和标准差。接着,它绘制了数据的直方图以及拟合的正态分布曲线,并输出了拟合得到的均值和标准差参数。