泊松分布的基本概念
泊松分布适用于描述单位时间(空间)上随机事件发生次数,记作π(λ)或P(λ),λ是单位时间(空间)事件发生的平均次数。
如:
一小时内到达加油站的车辆数量
单位面积细菌分布
分配法:
理解
基础知识
二项分布描述了某批次伯努利实验中事件发生一定次数的概率。
假设,进行n次实验,事件发生k次,P为事件A发生的概率。
所以二项分布的分布规律为:
①伯努利实验:在实验中事件A要么发生,要么不发生
也就是n次实验中挑出k次,这k次A都发生了(Pk),剩余的n-k次实验,事件A都不发生((1-P)(n-k))。
泊松分布推导
假设一家奶茶店每一小时能够卖出5杯奶茶,我们希望知道这家奶茶店在一小时卖出10杯奶茶的概率,要怎么办呢?
看时间线,我们可以看到卖奶茶的时间间隔是不固定的。
我们希望通过类似二项分布的方法来求得这个概率(我们已经有了二项分布的分布律),因此时间间隔就不能简单的设为10分钟、10秒钟这样。
二项分布注意一个事件是否在实验中发生
如果时间间隔定位10分钟,在这10分钟内卖出了2杯奶茶,那么事件应该定义为卖出了2杯奶茶,
但是如果卖了三个杯子呢?
所以我们要简化事件,将事件定义为:奶茶是否售出
这里运用极限的思想,将时间分成n份,n→∞,这里假设这n段时间中,有k段是卖出了奶茶的(卖出了k杯奶茶)。
设X= {卖出奶茶的数量},P:每单位时间(1/n小时)卖出奶茶的概率为
λ:一小时内卖出的奶茶数量 = np
其中设计n的有三部分:
- 这个大家应该没有问题,n趋于无穷时减数都为0
- 这个应该也没有问题,是和1.同样的道理
- 这里我们需要使用 L’Hopida 定律
所以
那么1小时卖10杯奶茶的概率为
奶茶销售对应的流通法
可见已知一小时能卖5杯奶茶的情况下,进行概率求解:
- 卖0~5杯的可能性是递增的,
- 卖6~10杯的可能性是递减的,
这也非常符合我们的直觉。
代码
import matplotlib.pyplot as plt
import math
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 雅黑字体
def calc_factorial(n):
factorial = [1]
for i in range(1, n + 1):
factorial.append(i * factorial[i - 1])
return factorial
def get_distribution_law(l, k, factor):
return pow(l, k) * math.exp(-1 * l) / factor[k]
x = []
y = []
factorial = calc_factorial(11)
for i in range(11):
x.append(i)
for i in x:
y.append(get_distribution_law(5, i, factorial))
plt.xlabel('奶茶销量')
plt.ylabel('概率')
plt.plot(x, y)
plt.show()
综上所述
因此在实验次数n足够大时,且P较小时,能够采用这种近似的方法。
版权声明:本文为博主灯笼只能来教室体验生活原创文章,版权归属原作者,如果侵权,请联系我们删除!
原文链接:https://blog.csdn.net/m0_52733659/article/details/123013471