[机器学习算法]泊松回归

2020-01-31  本文已影响0人  TOMOCAT

需要泊松回归的原因

对因变量是离散型变量的问题建模时,普通的线性回归模型、定序回归模型和逻辑回归模型已经能解决我们大部分的需求。但有一类特殊的因变量记录某个特定事件出现的次数(有序的非负整数),它们被称之为“计数数据”。如果我们按照普通的线性回归模型建模:
freq = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \epsilon
虽然等号两边都是具有数值意义的实数,但是等号右边可以是任意连续值,但是等号左边只能是非负实数(计数数据)。因此普通的线性回归模型是无法对计数数据建模的。

泊松回归的假设&模型建立

为了拟合计数数据,我们可以根据泊松分布做出如下假设:

  1. 任意相等时间间隔内,事件的平均出现次数是固定的
  2. 任给的两次等待时间是否发生事件是相互独立的

根据如上假设,我们可以设定事件在单位时间内发生k次的概率为:
P(freq = k) = \frac{\lambda^k}{k!}exp\{-\lambda\}
其中\lambda=E(freq)表示单位时间内事件发生次数的期望。

注意虽然单位时间内事件发生次数k只能是非负整数,但是期望\lambda却可以是小数。

因为\lambda是连续的,因此我们可以直接考虑自变量和\lambda之间的关系,另外考虑到\lambda是非负实数,我们可以建立线性回归模型:
log\{\lambda\} = \beta_0 + \beta_1x_1 + \beta_2x_2 +...+ \beta_px_p

参数估计

假设(x_i,k_i)是第i个样本的观测,其中x_i=(x_{i1},x_{i2},...,x_{ip})表示自变量向量,k_i表示因变量(即样本在单位时间内出现的次数)。根据假定的模型,我们可以得到该样本的概率为:
\frac{\lambda (x_i)^{k_i}}{k_i!} exp\{-\lambda(x_i) \}
log\{\lambda(x_i)\} = \beta_0 + \beta_1x_{i1} + \beta_2x_{i2} +...+ \beta_px_{ip}
根据所有样本,我们计算出整个样本集的似然函数:
L(\Theta) = \prod_{i=1}^{n} \frac{\lambda(x_i)^{k_i}}{k_i!} exp\{-\lambda(x_i) \}
其中\Theta = (\beta_0, \beta_1, \beta_2,...,\beta_p)'表示参数向量,取对数后得到表达式:
log\{L(\Theta)\} = \sum_{i=1}^{n}[k_ilog\{\lambda (x_i)\} - log\{k_i!\} - \lambda(x_i)]
对“对数似然函数”求极值后我们可以得到参数估计值,记为\hat\Theta = (\hat\beta_0, \hat\beta_1,...,\hat\beta_p)'

检验统计量

泊松回归模型中\hat\beta_i的真实分布是未知的,但是基于中心极限定理,\hat\beta_i将近似服从正态分布:
\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
因此只要我们能准确地估计\hat\beta_j的标准差\sigma(\hat\beta_j),我们就可以构造如下检验统计量对各个自变量的显著性进行检验:
T_j = \frac{\hat\beta_j}{\hat\sigma(\hat\beta_j)}
在原假设成立的情况下,该检验统计量近似服从标准正态分布。因此对于给定的显著性水平如0.05,我们可以根据T_j的绝对值是否大于z_{0.975}来决定是否拒绝原假设。

如果需要检验模型的整体显著性水平,我们可以使用似然比检验,其统计量为:
\gamma = -2 \times(\max_{\beta_0} log\{L(\beta_0, \beta=0)\} - \max_{(\beta_0, \beta)} log\{L(\beta_0, \beta)\})

这里乘上系数主要是方便构造具有特殊分布的检验统计量,属于统计推断中的常见做法。

其中\beta = (\beta_1, \beta_2,...,\beta_p)'表示长度为p自变量系数向量。当原假设成立且样本量足够大时\gamma近似服从自由度为P的卡方分布,自此我们即可完成模型整体显著性水平的检验。

上一篇下一篇

猜你喜欢

热点阅读