0
点赞
收藏
分享

微信扫一扫

泊松分布的推导

泊松分布的基本概念

泊松分布适用于描述单位时间(空间)上随机事件发生次数,记作π(λ)P(λ),λ是单位时间(空间)事件发生的平均次数。

分布律:
π ( X = k ) = λ k ⋅ e − λ k ! ( λ > 0 , k = 0 , 1 , 2 , . . . ) π(X=k) = \frac{λ^k·e^{-λ}}{k!} \quad (λ>0, k=0,1,2,...) π(X=k)=k!λkeλ(λ>0,k=0,1,2,...)

理解

基础知识

二项分布描述的是某一批伯努利实验,事件发生一定次数的概率。
假设,进行n次实验,事件发生k次,P为事件A发生的概率。
所以二项分布的分布律为:

P ( X = k ) = C n k ⋅ P k ⋅ ( 1 − P ) n − k P(X=k)=C_n^k·P^k·(1-P)^{n-k} P(X=k)=CnkPk(1P)nk
也就是n次实验中挑出k次,这k次A都发生了(Pk),剩余的n-k次实验,事件A都不发生((1-P)(n-k))。

泊松分布推导

假设一家奶茶店每一小时能够卖出5杯奶茶,我们希望知道这家奶茶店在一小时卖出10杯奶茶的概率,要怎么办呢?
在这里插入图片描述
观察时间轴,我们可以看出:卖出奶茶的时间间隔不固定。
我们希望通过类似二项分布的方法来求得这个概率(我们已经有了二项分布的分布律),因此时间间隔就不能简单的设为10分钟、10秒钟这样。

这里运用极限的思想,将时间分成n份,n→∞,这里假设这n段时间中,有k段是卖出了奶茶的(卖出了k杯奶茶)。
X = {卖出奶茶的数量},P:每单位时间(1/n小时)卖出奶茶的概率为
λ:一小时内卖出的奶茶数量 = np

P ( X = k ) = C n k ⋅ P k ⋅ ( 1 − P ) n − k = A n k k ! ⋅ P k ⋅ ( 1 − P ) n − k = n ( n − 1 ) . . . ( n − k + 1 ) k ! ⋅ ( λ n ) k ⋅ ( 1 − λ n ) n − k = 1 ( 1 − 1 n ) . . . ( 1 − k − 1 n ) k ! ⋅ n k ⋅ ( λ n ) k ⋅ ( 1 − λ n ) n − k = λ k k ! ⋅ 1 ( 1 − 1 n ) . . . ( 1 − k − 1 n ) ⋅ ( 1 − λ n ) n ⋅ ( 1 − λ n ) − k \begin{aligned} P(X=k) &=C_n^k·P^k·(1-P)^{n-k} \\ &= \frac{A_n^k}{k!}·P^k·(1-P)^{n-k} \\ &= \quad \frac{n(n-1)...(n-k+1)}{k!}·(\frac{λ}{n})^k·(1-\frac{λ}{n})^{n-k} \\ &= \frac{1(1-\frac{1}{n})...(1-\frac{k-1}{n})}{k!·n^k}·(\frac{λ}{n})^k·(1-\frac{λ}{n})^{n-k} \\ &= \frac{λ^k}{k!}·1(1-\frac{1}{n})...(1-\frac{k-1}{n})·(1-\frac{λ}{n})^n·(1-\frac{λ}{n})^{-k} \\ \end{aligned} P(X=k)=CnkPk(1P)nk=k!AnkPk(1P)nk=k!n(n1)...(nk+1)(nλ)k(1nλ)nk=k!nk1(1n1)...(1nk1)(nλ)k(1nλ)nk=k!λk1(1n1)...(1nk1)(1nλ)n(1nλ)k
其中设计n的有三部分:

  1. 这个大家应该没有问题,n趋于无穷时减数都为0
    1 ( 1 − 1 n ) . . . ( 1 − k − 1 n ) = 1 1(1-\frac{1}{n})...(1-\frac{k-1}{n}) = 1 1(1n1)...(1nk1)=1

  2. 这个应该也没有问题,是和1.同样的道理
    ( 1 − λ n ) − k (1-\frac{λ}{n})^{-k} (1nλ)k

  3. 这里需要用到洛必达法则
    l i m n → ∞ ( 1 − λ n ) n = e n ⋅ l n ( 1 − λ n ) = e l i m n → ∞ l n ( 1 − λ n ) 1 n 当 n 趋 于 无 穷 时 , 分 子 分 母 都 为 0 , 同 时 求 导 = e l i m n → ∞ 1 1 − λ n ⋅ − λ ⋅ − 1 n 2 − 1 n 2 = e l i m n → ∞ 1 1 − λ n ⋅ − λ 当 n 趋 于 无 穷 时 : 1 − λ n = 1 = e − λ \begin{aligned} lim_{n→∞}(1-\frac{λ}{n})^n &= e^{n·ln(1-\frac{λ}{n})} \\ &= e^{lim_{n→∞}\frac{ln(1-\frac{λ}{n})}{\frac{1}{n}}} \\ 当n趋于无穷时,分子分母都为0,同时求导 &=e^{lim_{n→∞}\frac{\frac{1}{1-\frac{λ}{n}}·-λ·-\frac{1}{n^2}}{-\frac{1}{n^2}}} \\ &= e^{lim_{n→∞}\frac{1}{1-\frac{λ}{n}}·-λ } \\ 当n趋于无穷时:1-\frac{λ}{n} = 1 \\ &= e^{-λ} \end{aligned} limn(1nλ)nn0n1nλ=1=enln(1nλ)=elimnn1ln(1nλ)=elimnn211nλ1λn21=elimn1nλ1λ=eλ
    所以
    P ( X = k ) l i m n → ∞ = λ k ⋅ e − λ k ! P(X=k)_{lim_{n→∞}} = \frac{λ^k·e^{-λ}}{k!} P(X=k)limn=k!λkeλ
    那么1小时卖10杯奶茶的概率为
    P ( X = 10 ) = 5 10 ⋅ e − 5 10 ! P(X=10) = \frac{5^{10}·e^{-5}}{10!} P(X=10)=10!510e5

奶茶销量对应的分布律

在这里插入图片描述
可见已知一小时能卖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较小时,能够采用这种近似的方法。

举报

相关推荐

0 条评论