NumPy 泊松分布
泊松分布
泊松分布是一种离散分布。
它估计一个事件在指定时间内可能发生的次数。如果一个人一天吃两次,他吃三次的概率是多少?
在 NumPy 中,使用 random.poisson()方法获得泊松分布。
它有两个参数:
- lam - 发生率或已知发生次数,例如上述问题的 2次。
- size - 返回数组的形状。
实例
为两次事件生成随机 1x10 分布:
from numpy import randomx = random.poisson(lam=2, size=10)print(x)
可视化泊松分布
实例
from numpy import randomimport matplotlib.pyplot as pltimport seaborn as snssns.distplot(random.poisson(lam=2, size=1000), kde=False)plt.show()
结果

正态分布与泊松分布的区别
正态分布是连续的,而泊松分布是离散的。
但我们可以看到,对于足够大的泊松分布,类似于二项式分布,它将变得类似于正态分布,具有一定的标准偏差和平均值。
实例
from numpy import randomimport matplotlib.pyplot as pltimport seaborn as snssns.distplot(random.normal(loc=50, scale=7, size=1000), hist=False, label='normal')sns.distplot(random.poisson(lam=50, size=1000), hist=False, label='poisson')plt.show()
结果

泊松分布与二项分布的区别
差别非常微妙,二项分布适用于离散试验,而泊松分布适用于连续试验。
但是对于非常大的n和接近零的p二项分布几乎与泊松分布相同,因此n*p几乎等于lam。
实例
from numpy import randomimport matplotlib.pyplot as pltimport seaborn as snssns.distplot(random.binomial(n=1000, p=0.01, size=1000), hist=False, label='binomial')sns.distplot(random.poisson(lam=10, size=1000), hist=False, label='poisson')plt.show()
结果
