NumPy 泊松分布

泊松分布

泊松分布是一种离散分布

它估计一个事件在指定时间内可能发生的次数。如果一个人一天吃两次,他吃三次的概率是多少?

在 NumPy 中,使用 random.poisson()方法获得泊松分布。

它有两个参数:

  • lam - 发生率或已知发生次数,例如上述问题的 2次。
  • size - 返回数组的形状。
实例

为两次事件生成随机 1x10 分布:

  1. from numpy import random
  2. x = random.poisson(lam=2, size=10)
  3. print(x)

可视化泊松分布

实例
  1. from numpy import random
  2. import matplotlib.pyplot as plt
  3. import seaborn as sns
  4. sns.distplot(random.poisson(lam=2, size=1000), kde=False)
  5. plt.show()
结果


正态分布与泊松分布的区别

正态分布是连续的,而泊松分布是离散的。

但我们可以看到,对于足够大的泊松分布,类似于二项式分布,它将变得类似于正态分布,具有一定的标准偏差和平均值。

实例
  1. from numpy import random
  2. import matplotlib.pyplot as plt
  3. import seaborn as sns
  4. sns.distplot(random.normal(loc=50, scale=7, size=1000), hist=False, label='normal')
  5. sns.distplot(random.poisson(lam=50, size=1000), hist=False, label='poisson')
  6. plt.show()
结果


泊松分布与二项分布的区别

差别非常微妙,二项分布适用于离散试验,而泊松分布适用于连续试验。

但是对于非常大的n和接近零的p二项分布几乎与泊松分布相同,因此n*p几乎等于lam

实例
  1. from numpy import random
  2. import matplotlib.pyplot as plt
  3. import seaborn as sns
  4. sns.distplot(random.binomial(n=1000, p=0.01, size=1000), hist=False, label='binomial')
  5. sns.distplot(random.poisson(lam=10, size=1000), hist=False, label='poisson')
  6. plt.show()
结果

分类导航