首页/文章/ 详情

泊松分布用在哪些场景?

2月前浏览1012


 

泊松分布常用于工程与科学领域,描述“连续时间/空间维度上随机事件发生次数”的场景(如医院一个晚上的急救电话数量,模拟公交车在某站点上车的乘客数量等)。此时,随机变量(事件次数)是离散的,而参考空间(时间/空间)是连续的。 研究"某段时间内发生几次"的问题通常用泊松分布建模。

▲图1

1️⃣泊松分布的数学定义

1.1 泊松分布的概率质量函数(PMF):

若随机变量   ,则其概率质量函数为:

其中参数    是泊松率(rate),表示单位时间/空间内事件发生的平均次数。

1.2 累积分布函数(CDF):

图2 展示了不同  下的PMF和CDF曲线。 python代码见文末。

▲图2

1.3  期望与方差:

关键特性:期望 = 方差(这是泊松分布区别于其他分布的核心特征)。

上述公式的推导过程:

注:利用了指数函数的级数展开     

利用公式

2️⃣泊松分布的应用--游客估计

设在某时段进人某景区游览的游客人数服从参数  的泊松分布,每位游客乘坐观光缆车的概率均为  ,且每位游客是否乘坐观光缆车是相互独立的。试估计进入该景区的游客乘坐观光缆车的平均人数。

游客是否乘坐观光缆车,符合二项分布的特征。这是泊松分布与二项分布的复合形式。

2.1 设定随机变量,明确已知分布

设进入景区的游客总人数为随机变量  ,已知  服从参数  的泊松分布,即  ,其概率质量函数为:

设乘坐观光缆车的人数为随机变量  ,已知每位游客独立乘坐缆车的概率  ,不乘坐的概率  。当进入景区人数为  时,  服从参数为  的二项分布,即条件分布为:

2.2 利用全概率公式展开计算

▲图3

如图3所示,设一个全集  包含3个独立且互斥的事件  满足  。同时  也包含一个事件  ,那么根据全集分解

根据全概率公式,  的无条件概率等于对所有可能的总人数  求和,此时的全集  应包含  种情形,即  。由于  时,  ,求和从  开始:

将上述两个分布代入,展开得:

2.3 化简表达式推导分布形式

先展开组合数  ,代入后约去  ,整理可得:

令  ,则求和变量变为  ,求和式转化为指数函数的泰勒展开:

代入后化简:

综上,进入该景区的游客乘坐观光缆车人数  服从参数  的泊松分布,即

进入该景区的游客乘坐观光缆车的平均人数即为随机变量  的期望18

附:python画泊松分布的PMF和CDF

  
import
 numpy as np
import
 matplotlib.pyplot as plt
from
 scipy.stats import poisson

# 设置λ的取值和k的范围

colors_list = ['red', 'blue', 'green']
lambdas = [2, 4, 10]
k = np.arange(0, 21)

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False

fig, (ax1,ax2) = plt.subplots(1, 2, figsize=(14, 5) )

for
 i in range(3):
    px = poisson.pmf(k, lambdas[i])
    ax1.scatter(k, px, s = 80, color = colors_list[i], 
            marker='o',  alpha=0.99, label = f'λ={lambdas[i]}')
    for
 j in range(21):
        ax1.vlines(j, 0, px[j], color = colors_list[i], alpha=0.3)

ax1.set(xlabel ='k')
ax1.set(ylabel = 'P(X=k)')
ax1.set(title = '不同参数泊松分布的PMF')
ax1.legend()
ax1.set_xticks(range(21)) 
ax1.grid(True, linestyle='--', alpha=0.35)
ax1.set_ylim(-0.005, 0.3)


for
 i in range(3):
    Fx = poisson.cdf(k, lambdas[i])
    ax2.scatter(k, Fx, color = colors_list[i], marker='o',
                  label = f'λ={lambdas[i]}')
    for
 j in range(21):
        ax2.hlines( Fx[j], j, j+1,  color = colors_list[i], alpha=0.6)

ax2.set(xlabel ='k')
ax2.set(ylabel = 'P(X≤k)')
ax2.set(title = '不同参数泊松分布的CDF')
ax2.legend()
ax2.set_xticks(range(21)) 
ax2.grid(True, linestyle='--', alpha=0.7)
ax2.set_ylim(-0.02, 1.02)
# 调整布局并显示

plt.tight_layout()
plt.show()
fig.savefig("x.png", dpi=300)

 


来源:数值分析与有限元编程
pythonUM
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-07-20
最近编辑:2月前
译码当先
本科 慢慢来
获赞 14粉丝 32文章 400课程 0
点赞
收藏
作者推荐

用sympy解力法、位移法方程

在结构力学中,力法和位移法是分析超静定结构的两种基本方法。对于力法来说,未知量的系数 包含 这样的分数,在解力法方程的时候显得繁琐。本文利用sympy的符号运算功能,通过python编程来解力法方程。 ▲图1如图1所示的连续梁,取 为基本未知量,力法典型方程为为与sympy中的方程定义保持一致,将上述方程改写为各系数和自由项如下:python代码 import sympy as spX1, X2, l, q, EI = sp.symbols('X1, X2, l, q, EI ') #符号变量delta_11 = delta_22 = 7*l/(12*EI) #δ11 = δ22delta_12 = delta_21 = l/(8*EI)Delta_1P = q*l**3 /(24*EI) #Δ1PDelta_2P = 0#力法方程eq1 = sp.Eq(delta_11 *X1 + delta_12 *X2 , -Delta_1P)eq2 = sp.Eq(delta_21 *X1 + delta_22 *X2 , -Delta_2P)#求解sol = sp.solve([eq1, eq2], (X1, X2))sol 在jupyter或者marimo中的输出效果如下 ▲图2来源:数值分析与有限元编程

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈