python 对一系列数据做非标准正态分布拟合,并用matplotlib绘制出来
时间: 2023-08-11 11:10:40 浏览: 224
在python中画正态分布图像的实例
5星 · 资源好评率100%
您好,欢迎和我对话!针对您的问题,可以使用scipy库中的stats模块来进行非标准正态分布的拟合,具体方法如下:
```
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
# 生成一组非正态分布的数据
data = np.random.laplace(loc=10, scale=3, size=5000)
# 对数据进行非标准正态分布拟合
fit_alpha, fit_loc, fit_beta = stats.laplace.fit(data)
# 绘制原始数据的直方图
plt.hist(data, bins=50, density=True, alpha=0.6, color='g')
# 根据拟合参数生成拟合曲线并绘制
x = np.linspace(stats.laplace.ppf(0.01, fit_alpha, fit_loc, fit_beta),
stats.laplace.ppf(0.99, fit_alpha, fit_loc, fit_beta), 100)
plt.plot(x, stats.laplace.pdf(x, fit_alpha, fit_loc, fit_beta), 'r-', lw=2)
# 样本分布与拟合曲线的比较
plt.title('Laplace distribution fit')
plt.xlabel('data')
plt.ylabel('PDF')
plt.show()
```
以上代码就可以实现对一组非标准正态分布的数据进行拟合,并用matplotlib绘制出来。希望能对您有所帮助!
阅读全文