ARTICLE

泊松回归 (Poisson Regression)

泊松回归 (Poisson Regression) 泊松回归是广义线性模型(Generalized Linear Model, GLM)中的一个重要分支,专门用于建模计数值(count data)类型的因变量。当因变量表示某事件在固定时间、空间或区域内的发生次数(如交通事故数量、疾病发病率、顾客到店人数、网页点击次数等)时,泊松回归是首选的建模工具。其核心假

浏览 0 更新 2025-10-26

泊松回归 (Poisson Regression)

泊松回归广义线性模型(Generalized Linear Model, GLM)中的一个重要分支,专门用于建模计数值(count data)类型的因变量。当因变量表示某事件在固定时间、空间或区域内的发生次数(如交通事故数量、疾病发病率、顾客到店人数、网页点击次数等)时,泊松回归是首选的建模工具。其核心假设是因变量服从泊松分布,且其条件期望的对数是自变量的线性组合。

模型形式

设因变量 YiY_i 表示第 ii 个观测的计数值,给定自变量向量 Xi=(Xi1,Xi2,,Xip)T\mathbf{X}_i = (X_{i1}, X_{i2}, \dots, X_{ip})^T,泊松回归假设因变量服从泊松分布,且分布参数 λi\lambda_i 与自变量之间存在对数线性关系:

YiXiPoisson(λi)Y_i \mid \mathbf{X}_i \sim \text{Poisson}(\lambda_i)
log(λi)=β0+β1Xi1+β2Xi2++βpXip=XiTβ\log(\lambda_i) = \beta_0 + \beta_1 X_{i1} + \beta_2 X_{i2} + \cdots + \beta_p X_{ip} = \mathbf{X}_i^T \boldsymbol{\beta}

其中 λi=E[YiXi]=Var(YiXi)\lambda_i = E[Y_i \mid \mathbf{X}_i] = \text{Var}(Y_i \mid \mathbf{X}_i) 是泊松分布的均值参数,同时由于泊松分布的性质,均值等于方差。连接函数(link function)为自然对数函数 g(μ)=log(μ)g(\mu) = \log(\mu),这确保了无论线性预测值取何值,λi>0\lambda_i > 0 恒成立。这也是泊松回归区别于普通线性回归的关键所在——普通线性回归假设因变量服从正态分布,而计数数据通常呈现右偏态且方差随均值增大而增大,泊松分布恰好能刻画这些特征。

参数估计

泊松回归的参数通常通过最大似然估计(Maximum Likelihood Estimation, MLE)进行求解。对于 nn 个独立观测样本,似然函数为各观测概率密度函数的乘积:

L(β)=i=1neλiλiyiyi!L(\boldsymbol{\beta}) = \prod_{i=1}^n \frac{e^{-\lambda_i} \lambda_i^{y_i}}{y_i!}

取对数后,对数似然函数为:

(β)=i=1n[yilog(λi)λilog(yi!)]=i=1n[yi(XiTβ)eXiTβlog(yi!)]\ell(\boldsymbol{\beta}) = \sum_{i=1}^n \left[ y_i \log(\lambda_i) - \lambda_i - \log(y_i!) \right] = \sum_{i=1}^n \left[ y_i (\mathbf{X}_i^T \boldsymbol{\beta}) - e^{\mathbf{X}_i^T \boldsymbol{\beta}} - \log(y_i!) \right]

通过求解得分方程 /β=0\partial \ell / \partial \boldsymbol{\beta} = \mathbf{0} 得到参数估计值。由于该方程关于 β\boldsymbol{\beta} 是非线性的,无法得到闭式解,因此通常使用迭代加权最小二乘法(Iteratively Reweighted Least Squares, IRLS),也称费希尔得分算法(Fisher Scoring),或牛顿-拉夫森算法(Newton--Raphson)进行迭代数值求解。在大样本条件下,最大似然估计量具有一致性、渐近正态性和渐近有效性。

系数解释

泊松回归的系数具有独特的半弹性(semi-elasticity)解释方式。对于连续自变量 XjX_j,在其他变量保持不变的情况下,XjX_j 每增加一个单位,因变量的期望值变为原来的 eβje^{\beta_j} 倍:

E[YXj+1,Xj]E[YXj,Xj]=eβj\frac{E[Y \mid X_j + 1, \mathbf{X}_{-j}]}{E[Y \mid X_j, \mathbf{X}_{-j}]} = e^{\beta_j}

βj>0\beta_j > 0 时,eβj>1e^{\beta_j} > 1,表示该变量对计数具有正向影响;当 βj<0\beta_j < 0 时,0<eβj<10 < e^{\beta_j} < 1,表示负向影响。这种解释方式在流行病学和保险精算学中通常被称为发生率比(Incidence Rate Ratio, IRR)。对于二值自变量(如处理组与对照组),eβje^{\beta_j} 直接表示处理组相对于对照组的计数期望比值。

过度离散问题

泊松回归的一个重要假设是均值等于方差:Var(YX)=E[YX]\text{Var}(Y \mid \mathbf{X}) = E[Y \mid \mathbf{X}]。然而在实际应用中,这一假设常常被违反,出现过度离散(overdispersion)现象,即方差显著大于均值。过度离散的可能原因包括:模型遗漏了重要的解释变量、数据存在聚类结构(组内相关性)、真实数据生成过程为负二项分布而非泊松分布,或因变量中存在过多的零值。

检测过度离散的常用方法包括:比较残差偏差(residual deviance)与自由度的比值是否显著大于 1,或使用 Cameron 和 Trivedi(1990)提出的回归检验方法。若存在过度离散而未能加以处理,会导致参数估计的标准误被低估,进而夸大统计显著性。

针对过度离散,常见的解决方案有以下几种:

  • 负二项回归(Negative Binomial Regression):引入额外的离散参数 α\alpha,使得 Var(Y)=μ+αμ2\text{Var}(Y) = \mu + \alpha \mu^2。当 α0\alpha \to 0 时退化为泊松回归。
  • 拟泊松模型(Quasi-Poisson Model):不改变均值结构,但通过拟似然方法估计离散参数 ϕ\phi,使 Var(Y)=ϕμ\text{Var}(Y) = \phi \mu,并据此调整标准误。
  • 异方差稳健标准误:使用三明治估计量(sandwich estimator)获得对过度离散稳健的标准误。

零膨胀与零截断

在处理计数数据时,两类特殊情形需要特别关注:

零膨胀模型

当数据中零值的比例远高于泊松分布的预期时,可考虑零膨胀模型(Zero-Inflated Model)。零膨胀泊松模型(Zero-Inflated Poisson, ZIP)假设数据由两个过程混合生成:一个退化过程以概率 π\pi 产生结构性零值,另一个标准泊松过程则以概率 1π1 - \pi 产生包括抽样零在内的全部计数值。其概率质量函数为:

P(Y=y)={π+(1π)eλ,y=0(1π)eλλyy!,y>0P(Y = y) = \begin{cases} \pi + (1 - \pi) e^{-\lambda}, & y = 0 \\ (1 - \pi) \dfrac{e^{-\lambda} \lambda^y}{y!}, & y > 0 \end{cases}

ZIP 模型允许 π\piλ\lambda 各自依赖于不同的自变量集合,具有较大的灵活性。

零截断模型

当因变量不能取零值时(例如每天至少发生一次的事件),应使用零截断泊松模型(Zero-Truncated Poisson, ZTP)。其概率质量函数在标准泊松分布的基础上进行截断调整,条件于 Y>0Y > 0

P(Y=yY>0)=eλλyy!(1eλ),y=1,2,P(Y = y \mid Y > 0) = \frac{e^{-\lambda} \lambda^y}{y! (1 - e^{-\lambda})}, \quad y = 1, 2, \dots

模型诊断与评估

泊松回归的模型诊断工具主要包括:

  • 偏差残差(Deviance Residuals):基于单个观测对整体偏差的贡献,用于评估各观测对模型拟合的影响程度。
  • Pearson 残差:定义为 ri=(yiλ^i)/λ^ir_i = (y_i - \hat{\lambda}_i) / \sqrt{\hat{\lambda}_i},用于检测离群值和模型假设的偏离。
  • 似然比检验(Likelihood Ratio Test):比较嵌套模型的拟合优度差异,检验多个参数是否同时为零。
  • 沃尔德检验(Wald Test):检验单个系数的显著性,在大样本下与似然比检验渐近等价。
  • AIC 与 BIC:用于非嵌套模型之间的模型选择,值越小表示模型在拟合与简洁性之间的平衡越好。

应用示例

泊松回归在多个学科领域有广泛而成熟的应用:

  • 流行病学与公共卫生:建模某种疾病在特定时间段内的新发病例数,控制人口暴露量。
  • 交通工程:预测十字路口或高速公路路段的事故发生频率,评估安全干预措施的效果。
  • 保险精算:估计保单持有人的索赔次数,用于保费定价和准备金计提。
  • 生态学与环境科学:计数某区域内珍稀物种的个体数量,分析栖息地特征对物种丰富度的影响。
  • 经济学与创新研究:分析企业专利数量与研发投入、市场结构之间的关系。
  • 语言学与文本分析:统计特定词汇在语料库中出现的频次,考察语境因素的影响。
  • 体育统计:建模足球比赛中各队的进球数,评估球队实力和主场优势。

与其他模型的联系

泊松回归是广义线性模型家族中的核心成员,使用对数连接函数和泊松分布族。当仅需估计发生率而无需完整的分布假设时,泊松拟似然(Poisson Quasi-Likelihood)方法仍然可以提供一致的参数估计,这一性质在面板数据分析中尤为有用。在生存分析中,分段指数模型(piecewise exponential model)与泊松回归在数学上具有等价关系——将每个风险区间视为一个泊松过程。此外,多项分布与泊松分布之间存在深刻联系:在给定总数的条件下,独立的泊松变量服从多项分布,这一性质使得泊松回归可扩展至多类别计数建模。

软件实现

主流的统计软件和编程语言均有成熟的泊松回归实现。在 R 语言中,可使用 \texttt{glm(y \string\~ x, family = poisson, data = df)} 进行拟合;在 Python 的 statsmodels 库中,使用 \texttt{GLM(y, X, family=sm.families.Poisson())};在 Stata 中,使用 \texttt{poisson y x} 命令。这些工具同时提供了零膨胀和负二项扩展模型的实现。

注意事项

在实际应用中,使用泊松回归需注意以下几点:第一,确保因变量为真实的计数值(非负整数),而非经过标准化处理的比率;若为比率,应使用暴露量偏移项(offset)加以调整。第二,样本量不宜过小,因为最大似然估计的渐近性质在小样本下可能不成立。第三,检查数据是否存在过度离散,若存在则需采用相应的扩展模型。第四,注意自变量之间是否存在多重共线性,这可能导致系数估计不稳定。

综上所述,泊松回归为计数数据的建模提供了简洁而强大的分析框架,是广义线性模型中最常用的工具之一。掌握泊松回归及其扩展模型(负二项回归、零膨胀模型等),对于处理各类计数数据具有重要的理论和实践意义。