正太分布拟合python算法
时间: 2023-10-24 14:16:32 浏览: 135
在Python中,可以使用SciPy库中的stats模块来进行正态分布的拟合。具体的步骤如下:
1. 导入必要的库
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
```
2. 生成样本数据
```python
# 生成1000个服从正态分布的随机数
data = np.random.normal(loc=0, scale=1, size=1000)
```
3. 绘制样本数据的直方图
```python
plt.hist(data, bins=30, density=True, alpha=0.5)
plt.show()
```
4. 使用stats.norm.fit()函数拟合正态分布
```python
mu, sigma = stats.norm.fit(data)
```
5. 绘制拟合后的正态分布曲线
```python
x = np.linspace(-5, 5, 100)
y = stats.norm.pdf(x, loc=mu, scale=sigma)
plt.plot(x, y)
plt.show()
```
完整代码如下:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
# 生成1000个服从正态分布的随机数
data = np.random.normal(loc=0, scale=1, size=1000)
# 绘制样本数据的直方图
plt.hist(data, bins=30, density=True, alpha=0.5)
plt.show()
# 使用stats.norm.fit()函数拟合正态分布
mu, sigma = stats.norm.fit(data)
# 绘制拟合后的正态分布曲线
x = np.linspace(-5, 5, 100)
y = stats.norm.pdf(x, loc=mu, scale=sigma)
plt.plot(x, y)
plt.show()
```
阅读全文