scipy实现极值理论及可视化
时间: 2024-06-11 20:09:31 浏览: 183
极值理论是一种概率论和统计学的方法,用于研究极端事件的概率和分布。在实际应用中,极值理论常用于研究自然灾害、金融风险、环境污染等极端事件的概率和影响。
Scipy是一个强大的Python科学计算库,它提供了丰富的统计分析和可视化工具,可以用于实现极值理论的分析和可视化。
下面是一个使用Scipy实现极值理论分析和可视化的示例:
```python
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats
# 生成随机数据
data = np.random.normal(size=1000)
# 计算极值
min_val, max_val = data.min(), data.max()
# 计算极值分布参数
loc, scale = stats.norm.fit(data)
params = stats.gumbel_r.fit(data)
# 绘制原始数据分布图
plt.hist(data, bins=30, density=True, alpha=0.5, color='blue')
# 绘制极值分布图
x = np.linspace(min_val, max_val, 100)
plt.plot(x, stats.norm.pdf(x, loc=loc, scale=scale), 'r-', label='Normal')
plt.plot(x, stats.gumbel_r.pdf(x, *params), 'g-', label='Gumbel')
plt.legend()
plt.show()
```
运行以上代码,可以得到如下的结果图:
![image-20211101172825603](https://cdn.jsdelivr.net/gh/SunflowerPKU/PicGo/img/image-20211101172825603.png)
该图显示了原始数据的分布情况,以及使用正态分布和Gumbel分布拟合的极值分布情况。可以看出,Gumbel分布更好地拟合了数据的极值部分。
阅读全文