如何用Python同时画出概率密度函数(PDF)和相应的累积分布函数(CDF)?
时间: 2024-12-02 08:22:29 浏览: 3
python 计算概率密度、累计分布、逆函数的例子
在Python中,我们可以使用matplotlib库结合numpy和scipy来绘制概率密度函数(PDF)和累积分布函数(CDF)。以下是一个简单的步骤示例:
1. 首先,确保已安装所需的库,如果没有可以使用`pip install matplotlib numpy scipy`命令安装。
```bash
pip install matplotlib numpy scipy
```
2. 导入需要的模块:
```python
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import norm
```
3. 创建一个随机变量的样本数据,并计算其PDF和CDF:
```python
# 选择一个正态分布作为例子
mu, sigma = 0, 0.1 # 正态分布的均值和标准差
x = np.linspace(-4, 4, 100) # 定义X轴范围,100个等距点
# 计算正态分布的PDF和CDF
pdf = norm.pdf(x, mu, sigma)
cdf = norm.cdf(x, mu, sigma)
```
4. 绘制PDF和CDF:
```python
plt.figure(figsize=(8, 6)) # 设置图形大小
plt.plot(x, pdf, 'b', lw=2, label='PDF') # 线型和颜色设置
plt.plot(x, cdf, 'g', lw=2, label='CDF') # CDF线
plt.fill_between(x, pdf, color='b', alpha=.3) # 填充区域表示PDF
plt.fill_between(x, 0, cdf, color='g', alpha=.3) # 填充区域表示CDF的累积部分
plt.title('PDF and CDF of Normal Distribution')
plt.xlabel('x')
plt.ylabel('Density/Cumulative Probability')
plt.legend()
plt.grid(True) # 添加网格
plt.show() # 显示图形
```
5. 运行上述代码,你应该能看到PDF和CDF在同一图上展示,蓝色表示PDF,绿色表示CDF。
阅读全文