需要泊松回归的原因
对因变量是离散型变量的问题建模时,普通的线性回归模型、定序回归模型和逻辑回归模型已经能解决我们大部分的需求。但有一类特殊的因变量记录某个特定事件出现的次数(有序的非负整数),它们被称之为“计数数据”。如果我们按照普通的线性回归模型建模:
freq=β0+β1x1+β2x2+ϵ
freq = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \epsilon
freq=β0+β1x1+β2x2+ϵ
虽然等号两边都是具有数值意义的实数,但是等号右边可以是任意连续值,但是等号左边只能是非负实数(计数数据)。因此普通的线性回归模型是无法对计数数据建模的。
泊松回归的假设&模型建立
为了拟合计数数据,我们可以根据泊松分布做出如下假设:
- 任意相等时间间隔内,事件的平均出现次数是固定的
- 任给的两次等待时间是否发生事件是相互独立的
根据如上假设,我们可以设定事件在单位时间内发生kkk次的概率为:
P(freq=k)=λkk!exp{−λ}
P(freq = k) = \frac{\lambda^k}{k!}exp\{-\lambda\}
P(freq=k)=k!λkexp{−λ}
其中λ=E(freq)\lambda=E(freq)λ=E(freq)表示单位时间内事件发生次数的期望。
注意虽然单位时间内事件发生次数kkk只能是非负整数,但是期望λ\lambdaλ却可以是小数。
因为λ\lambdaλ是连续的,因此我们可以直接考虑自变量和λ\lambdaλ之间的关系,另外考虑到λ\lambdaλ是非负实数,我们可以建立线性回归模型:
log{λ}=β0+β1x1+β2x2+...+βpxp
log\{\lambda\} = \beta_0 + \beta_1x_1 + \beta_2x_2 +...+ \beta_px_p
log{λ}=β0+β1x1+β2x2+...+βpxp
参数估计
假设(xi,ki)(x_i,k_i)(xi,ki)是第iii个样本的观测,其中xi=(xi1,xi2,...,xip)x_i=(x_{i1},x_{i2},...,x_{ip})xi=(xi1,xi2,...,xip)表示自变量向量,kik_iki表示因变量(即样本在单位时间内出现的次数)。根据假定的模型,我们可以得到该样本的概率为:
λ(xi)kiki!exp{−λ(xi)}
\frac{\lambda (x_i)^{k_i}}{k_i!} exp\{-\lambda(x_i) \}
ki!λ(xi)kiexp{−λ(xi)}
log{λ(xi)}=β0+β1xi1+β2xi2+...+βpxip
log\{\lambda(x_i)\} = \beta_0 + \beta_1x_{i1} + \beta_2x_{i2} +...+ \beta_px_{ip}
log{λ(xi)}=β0+β1xi1+β2xi2+...+βpxip
根据所有样本,我们计算出整个样本集的似然函数:
L(Θ)=∏i=1nλ(xi)kiki!exp{−λ(xi)}
L(\Theta) = \prod_{i=1}^{n} \frac{\lambda(x_i)^{k_i}}{k_i!} exp\{-\lambda(x_i) \}
L(Θ)=i=1∏nki!λ(xi)kiexp{−λ(xi)}
其中Θ=(β0,β1,β2,...,βp)′\Theta = (\beta_0, \beta_1, \beta_2,...,\beta_p)'Θ=(β0,β1,β2,...,βp)′表示参数向量,取对数后得到表达式:
log{L(Θ)}=∑i=1n[kilog{λ(xi)}−log{ki!}−λ(xi)]
log\{L(\Theta)\} = \sum_{i=1}^{n}[k_ilog\{\lambda (x_i)\} - log\{k_i!\} - \lambda(x_i)]
log{L(Θ)}=i=1∑n[kilog{λ(xi)}−log{ki!}−λ(xi)]
对“对数似然函数”求极值后我们可以得到参数估计值,记为Θ^=(β^0,β^1,...,β^p)′\hat\Theta = (\hat\beta_0, \hat\beta_1,...,\hat\beta_p)'Θ^=(β^0,β^1,...,β^p)′
检验统计量
泊松回归模型中β^i\hat\beta_iβ^i的真实分布是未知的,但是基于中心极限定理,β^i\hat\beta_iβ^i将近似服从正态分布:
β^j−βjvar(β^j)=β^j−βjσ(β^j)∼N(0,1),j=0,1,...,p
\frac{\hat\beta_j - \beta_j}{\sqrt{var(\hat\beta_j)}} = \frac{\hat\beta_j - \beta_j}{\sigma(\hat\beta_j)} \sim N(0,1), j=0,1,...,p
var(β^j)β^j−βj=σ(β^j)β^j−βj∼N(0,1),j=0,1,...,p
因此只要我们能准确地估计β^j\hat\beta_jβ^j的标准差σ(β^j)\sigma(\hat\beta_j)σ(β^j),我们就可以构造如下检验统计量对各个自变量的显著性进行检验:
Tj=β^jσ^(β^j)
T_j = \frac{\hat\beta_j}{\hat\sigma(\hat\beta_j)}
Tj=σ^(β^j)β^j
在原假设成立的情况下,该检验统计量近似服从标准正态分布。因此对于给定的显著性水平如0.050.050.05,我们可以根据TjT_jTj的绝对值是否大于z0.975z_{0.975}z0.975来决定是否拒绝原假设。
如果需要检验模型的整体显著性水平,我们可以使用似然比检验,其统计量为:
γ=−2×(maxβ0log{L(β0,β=0)}−max(β0,β)log{L(β0,β)})
\gamma = -2 \times(\max_{\beta_0} log\{L(\beta_0, \beta=0)\} - \max_{(\beta_0, \beta)} log\{L(\beta_0, \beta)\})
γ=−2×(β0maxlog{L(β0,β=0)}−(β0,β)maxlog{L(β0,β)})
这里乘上系数主要是方便构造具有特殊分布的检验统计量,属于统计推断中的常见做法。
其中β=(β1,β2,...,βp)′\beta = (\beta_1, \beta_2,...,\beta_p)'β=(β1,β2,...,βp)′表示长度为ppp自变量系数向量。当原假设成立且样本量足够大时γ\gammaγ近似服从自由度为PPP的卡方分布,自此我们即可完成模型整体显著性水平的检验。