如何在Python中画出概率密度函数(PDF)和相应的累积分布函数(CDF)?
时间: 2024-12-02 14:21:48 浏览: 3
python 计算概率密度、累计分布、逆函数的例子
在Python中,你可以使用matplotlib库和numpy库来绘制概率密度函数(PDF)和累积分布函数(CDF)。以下是一个基本步骤的例子:
1. 首先,确保已安装了这两个库,如果没有,可以使用pip安装:
```bash
pip install matplotlib numpy
```
2. 导入必要的模块:
```python
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import norm
```
`scipy.stats.norm`用于生成正态分布的数据。
3. 创建数据:
```python
# 设定随机变量的参数
mu = 0
sigma = 1
x = np.linspace(-4, 4, 100) # 线性空间范围从-4到4,包含100个点
# 计算PDF和CDF
pdf = norm.pdf(x, mu, sigma)
cdf = norm.cdf(x, mu, sigma)
```
`norm.pdf()`计算给定点的概率密度,`norm.cdf()`计算对应点下随机变量小于或等于该点的概率。
4. 绘制PDF和CDF图形:
```python
plt.figure(figsize=(8, 6))
# PDF图
plt.plot(x, pdf, label='PDF', color='blue')
plt.fill_between(x, pdf, alpha=0.3, color='blue')
# CDF图
plt.plot(x, cdf, label='CDF', color='red')
plt.xlabel('Random Variable')
plt.ylabel('Probability Density / Cumulative Distribution')
plt.legend()
plt.show()
```
这里,我们分别用蓝色线和填充区域表示PDF,红色线表示CDF。通过调整`figsize`参数,可以改变图形大小。
阅读全文