当前位置: 首页 > news >正文

数据分析-泊松分布

泊松分布是统计学中一个非常重要的离散型概率分布,尤其适合描述稀有事件的发生概率。

(一)什么是泊松分布

泊松分布描述的是在​​一段固定时间或空间内​​,某个​​稀有事件​​发生的​​次数​​的概率分布。

例如:高速公路上的一个加油站,一小时内到达加油站的车辆数。一天内某网站收到的请求错误数。小区楼下的煎饼摊,一天可以卖出的煎饼数。一段固定时间内接到客服电话的次数。

(二)核心特征与假设

泊松过程需要满足以下条件:

1.​独立性​​:事件的发生是相互独立的。一个事件的发生不影响另一个事件发生的概率。

2.​平稳性​​:在任意等长的时间/空间区间内,事件发生的平均速率(强度)是​​恒定​​的。这个平均发生率记为 ​​λ​​。

3.​普通性​​:在极短的时间或空间内,发生两次或以上事件的概率趋近于零。即同一时刻最多发生一个事件,默认客服电话是一个一个打进来的、到达加油站的车也是一辆接一辆进来的。

(三)概率分布

如果随机变量 X(表示给定区间内事件发生的次数)服从泊松分布,我们记为:

​X ~ Poisson(λ)​

那么,在区间内事件恰好发生 k次的概率由以下​​概率质量函数​​ 给出:

​P(X = k) = (λ^k * e^(-λ)) / k!​

其中:

P(X = k)​​: 表示事件恰好发生 k 次的概率。

λ​​: 单位时间(或单位空间)内事件发生的​​平均次数​​(λ > 0)。这是泊松分布的唯一参数。

e​​: 自然对数的底数,约等于 2.71828。

k​​: 事件发生的次数(k = 0, 1, 2, ...)。

(四)分布数字特征

期望值(均值)​​: E(X) = λ

方差​​: Var(X) = λ

泊松分布一个非常重要的特性是:它的期望和方差相等。​这个特性在实际中常被用来初步判断一个数据集是否可能服从泊松分布。

(五)与二项分布的关系

当二项分布的试验次数 n很大,而成功概率 p很小时,二项分布可以近似用泊松分布来替代,其中 ​​λ = n * p​​。

当 n > 20且 p < 0.05,或 n > 100且 np < 10时,这种近似效果很好。

为什么有用?​​: 当 n很大时,计算二项系数 C(n, k)会相对困难,而泊松分布公式更易于计算。

例如​​: 已知某种疾病的患病率为 0.001。在 5000 人的社区中,患病人数为 4 的概率是多少?

​二项分布精确解​​: X ~ Binomial(5000, 0.001), P(X=4) = C(5000, 4) * (0.001)^4 * (0.999)^4996,计算复杂。

​泊松近似​​: λ = 5000 * 0.001 = 5, X ~ Poisson(5), P(X=4) = (5^4 * e^(-5)) / 4!,计算简单,且结果非常接近。

(六)注意事项

λ 是常数​​: 必须确保事件发生的平均速率 λ 在观察期间是恒定的。例如,不能用“一天”的平均通话量来精确计算“凌晨3点-4点”的通话量,因为速率在一天内是变化的。

​事件独立性​​: 这是关键假设。例如,一个地方发生地震后可能会引发余震(不独立),因此严格来说,地震次数不完全服从泊松分布。

​均值等于方差​​: 如果你的数据计数的方差远大于或远小于均值(称为过离散或欠离散),那么数据可能不适用于泊松分布,需要考虑负二项分布等其他模型。

​区间选择​​: λ 的大小依赖于你所选的时间或空间区间。例如,λ=3次/小时 等价于 λ=0.05次/分钟。

(七)Python计算

在Python中,可以使用 scipy.stats模块的 poisson对象来进行相关数值计算。

假设某咖啡店每小时平均有5位顾客通过手机下单(λ=5)。

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import poisson# 定义参数 lambda
lambda_ = 5# 1. 计算概率质量函数 - 恰好有 k 个订单的概率
k = 3
prob_exactly_3 = poisson.pmf(k, lambda_)
print(f"一小时恰好有 {k} 个订单的概率: {prob_exactly_3:.4f}") # 输出: 0.1404# 2. 计算累积分布函数 - 订单数小于等于 k 的概率
k = 7
prob_at_most_7 = poisson.cdf(k, lambda_)
print(f"一小时订单数小于等于 {k} 的概率: {prob_at_most_7:.4f}") # 输出: 0.8666# 3. 计算生存函数(1 - CDF) - 订单数大于 k 的概率
k = 2
prob_more_than_2 = poisson.sf(k, lambda_) # 等价于 1 - poisson.cdf(k, lambda_)
print(f"一小时订单数大于 {k} 的概率: {prob_more_than_2:.4f}") # 输出: 0.8753# 4. 从泊松分布中生成随机数
random_samples = poisson.rvs(lambda_, size=100)
print(f"生成的100个随机样本的前10个: {random_samples[:10]}")# 5. 绘制概率质量函数图
k_values = np.arange(0, 15) # k 从 0 到 14
pmf_values = poisson.pmf(k_values, lambda_)plt.figure(figsize=(10, 6))
plt.bar(k_values, pmf_values, color='skyblue', alpha=0.7)
plt.axvline(lambda_, color='red', linestyle='--', label=f'λ (均值) = {lambda_}')
plt.title(f'泊松分布的概率质量函数 (λ = {lambda_})')
plt.xlabel('事件发生次数 k')
plt.ylabel('概率 P(X=k)')
plt.legend()
plt.grid(axis='y', alpha=0.3)
plt.show()

输出:

一小时恰好有 3 个订单的概率: 0.1404

一小时订单数小于等于 7 的概率: 0.8666

一小时订单数大于 2 的概率: 0.8753

生成的100个随机样本的前10个: [4 5 2 6 8 4 5 5 5 4]

其中:

poisson.pmf(k, lambda_): 计算 P(X = k)

poisson.cdf(k, lambda_): 计算 P(X <= k)

poisson.sf(k, lambda_): 计算 P(X > k)

poisson.rvs(lambda_, size=100): 生成100个服从 Pois(λ) 的随机数。

图表会直观地显示泊松分布的形状(总是右偏<右边的尾巴比较长>,但随着λ增大,会逐渐变得对称)。

http://www.dtcms.com/a/487002.html

相关文章:

  • 教育类网站开发文档做网站一万
  • 【嵌入式软件】STM32 UART转485通信问题
  • MATLAB离群点检测与删除
  • 星Day-33 基础补充
  • 网站后台换qqwindows7 iis配置 网站
  • 网站推广的最终目的是什么网站建立步骤
  • Apache Paimon:为大规模数据场景打造 “统一存储语言”
  • Hadoop生态核心组件全面解析
  • 考研408《计算机组成原理》复习笔记,第五章(4)——CPU的【硬布线控制器】
  • 01 MySQL数据库基础入门指南
  • 医疗网站建设代理商动漫设计师资格证
  • 从零理解 KV Cache:大语言模型推理加速的核心机制
  • Nginx部署Vue项目,网页界面返回404 Not Found
  • 建设部招标网站郑州企业建设网站有什么好处
  • 天硕国产工业级固态硬盘:主动浪涌防护,破解工业存储安全难题
  • 多重防护设计:BL-08plus如何杜绝交叉污染保障检测安全
  • 小说一键生成动漫重庆seo整站优化效果
  • dz门户网站模板比较有名的公司网站
  • 中小企业智能云MES系统源码,实时采集生产现场数据,优化生产流程
  • 建设网站的一般步骤是机械设备网站源码
  • IIS 配置和重写模块下载
  • Centos Stream 9 中Docker安装出现 download.docker.com:443 的问题解决
  • 医院 AI + 冷热源集群控制系统:医疗场景下的能效与安全双保障方案​
  • 初始yolo
  • 知名做网站哪家好wordpress ckplay播放
  • 什么程序做网站安全网站集约建设后网站域名规范
  • 自己做网站 知乎兰州网络推广电话
  • 隧道COVI检测仪:守护隧道安全与畅通
  • MySQL数据库基本命令的8个模块
  • HIS系统天花板,十大核心模块,门诊/住院/医保全流程打通,医院数字化转型首选