← 返回题目列表

什么是泊松回归?适用于什么场景?

高频 中等 第 7 / 25 题 更新于 2026/09/25
机器学习线性模型泊松回归广义线性模型
学习 AI 实战项目

简化版

泊松回归是针对非负整数计数的广义线性模型,设 Y|X ~ Poisson(μ),并用 log μ = Xβ 保证期望计数为正。系数 exp(β_j) 表示其他变量不变时,特征增加 1 单位带来的期望计数或发生率倍数。若不同样本的观察时长、人口或曝光量不同,应加 log(exposure) 作为系数固定为 1 的 offset,比较单位暴露率。标准模型要求条件均值等于条件方差;明显过度离散可考虑负二项或稳健标准误,结构性零很多时再根据生成机制考虑 hurdle 或零膨胀模型。

详细版

基本形式为:

Y_i | x_i ~ Poisson(μ_i)
log μ_i = β₀ + x_iᵀβ + log e_i
μ_i = e_i · exp(β₀ + x_iᵀβ)

其中 e_i>0 是暴露量。β_j=0.2 时,特征增加 1 单位会让期望发生率乘 exp(0.2)≈1.221,即约增加 22.1%,并非计数固定增加 0.2。

数据现象首选检查或模型说明
条件计数、均值方差相近泊松回归基准 GLM
方差明显大于均值负二项、quasi-Poisson 或稳健标准误区分预测分布与仅修正推断
方差小于均值广义泊松、COM-Poisson 等标准泊松同样不合适
零来自额外状态hurdle / zero-inflated必须有生成机制依据
不同观察机会offset暴露量系数固定为 1

“总体均值约等于总体方差”不是充分诊断,泊松假设说的是给定特征后的条件均值和条件方差相等;还要看偏差残差、Pearson dispersion、零比例与时间/人群切片。

完整版教学

一、泊松回归解决什么问题

目标变量若表示某个窗口内事件发生次数,如一天来电数、一个路口事故数、一次曝光周期内点击数,取值是 0,1,2,...。普通线性回归可能预测负数,且固定方差假设往往不符合“均值越高波动也越大”的计数数据。

泊松回归把计数分布与线性预测器组合起来:给定输入后,计数服从泊松分布;输入通过对数链接决定其均值。自变量可以是连续或类别特征,不要求也是计数。

二、模型形式与对数链接

标准模型写成:

P(Y_i=y_i | x_i) = exp(-μ_i) μ_i^(y_i) / y_i!
log μ_i = β₀ + x_iᵀβ

对数链接有两点作用:μ_i=exp(β₀+x_iᵀβ) 始终大于 0;线性预测器中的加法效应转成发生率的乘法效应。泊松负对数似然(忽略与参数无关项)为:

L(β) = Σ [μ_i - y_i log μ_i]

它不是对计数做 log(y) 后再用 OLS。后者无法自然处理 y=0,误差模型和回变换偏差也不同。

三、系数如何解释

若 β_j=0.2,其他变量固定,x_j 增加 1 时:

μ_new / μ_old = exp(β_j) = exp(0.2) ≈ 1.221

因此期望计数提高约 22.1%。若 x_j 是“是否节假日”的 0/1 指标,exp(β_j) 是节假日相对非节假日的计数率比。连续变量单位太小时,可以解释增加 10 单位的倍数 exp(10β_j)。

置信区间也应在指数变换后解释为率比区间。该解释是给定模型和其他协变量后的条件关联,不自动代表因果效应。

四、为什么暴露量必须作为 offset

门店 A 观察 10 天发生 20 次事件,门店 B 观察 100 天发生 80 次。原始计数看 B 更高,但日均率分别是 2 和 0.8。把观察天数记为 e_i:

log μ_i = log e_i + β₀ + x_iᵀβ
μ_i / e_i = exp(β₀ + x_iᵀβ)

log e_i 是 offset,系数固定为 1,不是让模型自由估计的普通特征。暴露量可以是人年、设备运行小时、页面曝光次数等。必须满足 e_i>0;零暴露却有正计数通常意味着口径错误,不能为避免 log(0) 随手加一个小常数。

若怀疑事件数与暴露量并非成比例,可把 log e_i 作为可估系数做敏感性分析,但这时模型含义已变化,需要业务依据。

五、均值等于方差到底是什么意思

泊松分布满足:

E[Y_i | X_i] = Var(Y_i | X_i) = μ_i

这是条件关系。把高风险和低风险人群混在一起算总体方差,异质性本身就会让总体方差大于总体均值,不能仅据此拒绝模型。应先纳入合理协变量,再检查 Pearson dispersion:

φ̂ = Σ Pearson残差² / 残余自由度

φ̂ 显著大于 1 提示过度离散,显著小于 1 提示不足离散;阈值需结合样本量和模拟/残差诊断,而不是机械用一个固定数。

六、过度离散、零膨胀和模型选择

过度离散可能来自遗漏异质性、事件相关、聚类、错误 offset 或真正的额外随机效应。不同修复解决的问题不同:

  • 负二项回归:引入额外离散参数,让方差大于均值,适合未观测异质性形成的重尾计数。
  • 稳健/聚类标准误:主要修正系数推断,不会让泊松预测分布获得更宽的尾部。
  • quasi-Poisson:估计均值和离散度,可修正标准误,但不是完整概率分布,不能直接按普通似然比较 AIC。
  • hurdle 模型:先建模是否为零,再对正计数建截断计数分布,适合“是否发生”和“发生几次”是两阶段过程。
  • zero-inflated 模型:假设存在结构性零状态与普通计数状态;零多并不足以证明这种潜在机制。

不足离散时,负二项不是答案,可考虑 COM-Poisson、广义泊松或重新审视数据生成过程。

七、拟合后的诊断与验证

除了平均损失或 deviance,还要检查:

检查能发现什么注意事项
偏差/Pearson 残差系统性失配、极端计数按拟合值、时间和人群画图
dispersion条件方差失配先确认自由度与聚类结构
预测零比例与尾部分位数零和大计数拟合用后验预测/留出集比较
时间外 deviance泛化与漂移保持计数窗口和 offset 口径一致
校准分组预测总数是否匹配实际同时看率与总量

数据若按用户、门店或时间重复观测,独立性不成立,可使用聚类标准误、随机效应或 GEE。交叉验证也应按实体或时间切分,防止同一主体泄漏到训练与验证。

不要因零很多就直接上零膨胀模型。先确认普通泊松/负二项在给定协变量和暴露量后预测多少零,再判断是否有额外的零生成机制。

八、常见误区与追问

上线时固化计数窗口、标签迟到规则、暴露量定义和单位。监控预测总量、单位暴露率、零比例、尾部计数、offset 分布及分群残差;若曝光埋点改变,模型率会被系统性扭曲。

  • 误区:泊松回归要求所有输入都是整数。 只有目标是计数,自变量可连续、类别或变换后取值。
  • 误区:把 log(y+1) 做 OLS 就等于泊松回归。 两者的似然、零值处理和预测回变换都不同。
  • 误区:总体均值不等于总体方差就一定不能用。 应检查给定特征后的条件离散与残差。
  • 追问:能预测非整数吗? 模型输出的是期望计数 μ,可以是 2.7;若要生成计数,再从预测分布采样。
  • 追问:什么时候用 offset,什么时候用样本权重? offset 调整期望计数与暴露量的比例;权重表示观测贡献或频数,语义不同。
  • 追问:泊松回归能处理率吗? 可以通过计数目标加暴露 offset 建模发生率,不应把噪声很大的经验率直接当同方差连续目标。

九、加强记忆

记住“计数—log 链接—暴露 offset—条件离散”:Y|X~Poisson(μ),log μ=Xβ+log e,所以 exp(β_j) 是发生率倍数,e 是观察机会且系数固定为 1。诊断的是条件均值与条件方差,不是只看总体统计;过度离散先查遗漏异质性和聚类,再比较负二项等方法,额外零生成机制有证据时才用 hurdle 或 zero-inflated。最终必须在保持时间窗与 offset 口径的留出数据上验证率、总量、零和尾部。