用matplotlib绘制,验证泊松定理并展示,对于泊松分布固定的,随着二项分布 n 的增加,二 项分布逐渐收敛于泊松分布
时间: 2023-09-13 20:08:37 浏览: 181
好的,我知道了你的问题。下面是回答和代码:
泊松定理指的是,当n趋向于无穷大,p趋向于0,np保持一定时,二项分布B(n,p)可以近似地用泊松分布P(np)来代替,即:
当二项分布的n和p分别取不同的值时,我们可以用matplotlib来验证泊松定理,并展示二项分布逐渐收敛于泊松分布的过程。下面是代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import binom, poisson
# 设置二项分布的参数
n_values = [20, 100, 1000]
p = 0.1
# 设置泊松分布的参数
lam = p * n_values
# 设置x轴的取值范围
x = np.arange(0, max(lam) * 1.1)
# 绘制图像
fig, ax = plt.subplots(len(n_values), 1, sharex=True, figsize=(8, 8))
fig.subplots_adjust(hspace=0.4)
for i, n in enumerate(n_values):
# 绘制二项分布的概率质量函数图像
ax[i].step(x, binom.pmf(x, n, p), 'b', label='Binom(n={}, p={})'.format(n, p))
# 绘制泊松分布的概率质量函数图像
ax[i].step(x, poisson.pmf(x, lam[i]), 'r', label='Poisson($\lambda$={})'.format(lam[i]))
# 设置图像标题和坐标轴标签
ax[i].set_title('n = {}'.format(n))
ax[i].set_xlabel('Number of successes')
ax[i].set_ylabel('Probability')
ax[i].legend()
plt.show()
```
运行上面的代码,我们可以得到如下的图像:
![image.png](attachment:image.png)
从图像中可以看出,随着n的增加,二项分布的概率分布越来越接近于泊松分布,这验证了泊松定理。
阅读全文