赞
踩
参考资料:用python动手学统计学
1、泊松分布
泊松分布是“1个、2个”或“1次、2次”这样的计数性数据所服从的离散型概率分布。计数型数据全是自然数,与正态分布的实数数据不同。
泊松分布的参数只有1个,即强度λ。服从泊松分布的随机变量的期望值和方差都是λ。
2、泊松分布的应用
泊松分布可以用于研究不同钓具对钓到的鱼的数量的影响、区域周围环境对区域内生物数量的影响,以及不同天气对销量的影响等问题。
3、泊松分布与二项分布的关系
泊松分布可以由二项分布推导得出。当成功概率趋近于0,试验次数趋向于无穷大的二项分布就是泊松分布。
以钓鱼为例,湖中有非常多的鱼,所有的鱼都有可能被钓到,但这个概率很小,在这种条件下钓到的鱼的条数就服从泊松分布。即非常多的对象(N -> ∞)中发生稀有事件(p -> 0)的件数就服从泊松分布。
注意不是任何离散型数据都可以使用泊松分布,只有通过上述条件能够得到数据,才可以应用泊松分布,这样才可以在很大程度上避免错误使用统计方法。
4、泊松分布的python实现
4.1 导入库
- # 导入库
- # 用于数值计算的库
- import numpy as np
- import pandas as pd
- import scipy as sp
- from scipy import stats
- # 用于作图的库
- import matplotlib.pyplot as plt
- import seaborn as sns
- sns.set()
4.2 概率质量函数
- # 计算强度λ为5的泊松分布中样本值为2概率
- stats.poisson.pmf(k=2,mu=5)
4.3 生成泊松分布随机数
- # 设置随机种子,用于复现结果
- np.random.seed(1)
- # 从强度为2的泊松分布中生成5个随机数
- stats.poisson.rvs(mu=2,size=5)
4.4 绘制泊松分布图形
- # λ=2的泊松分布
- poisson=sp.stats.poisson(mu=2)
- # 设置随机种子
- np.random.seed(1)
- # 从λ=2的泊松分布中抽样10000次
- rvs_poisson=poisson.rvs(size=10000)
- # 概率质量函数
- m=np.arange(0,10,1)
- pmf_poisson=poisson.pmf(k=m)
- # 绘制样本直方图与概率质量函数的图形
- sns.histplot(rvs_poisson,bins=m,stat='density')
- plt.plot(m,pmf_poisson)
4.5 作图确认泊松分布与二项分布的关系
对比试验次数为1亿次,成功概率为0.00000002的二项分布与强度为2的泊松分布的概率质量函数的图形。
- # N非常大,但p非常小的二项份额不
- N=100000000
- p=0.00000002
- binomial_2=sp.stats.binom(n=N,p=p)
- # 二项分布概率质量函数
- m=np.arange(0,10,1)
- pmf_binomial_2=binomial_2.pmf(k=m)
- # 绘制二项分布概率质量曲线
- plt.plot(m,pmf_binomial_2,linestyle=":",color='blue')
- # 绘制泊松分布概率质量曲线
- plt.plot(m,sp.stats.poisson.pmf(mu=2,k=m),color='red')
由上图可见,二个分布基本完全重合。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。