前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[机器学习算法]泊松回归

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

作者头像
TOMOCAT
发布2020-06-09 18:06:58
1.1K0
发布2020-06-09 18:06:58
举报

需要泊松回归的原因

对因变量是离散型变量的问题建模时,普通的线性回归模型、定序回归模型和逻辑回归模型已经能解决我们大部分的需求。但有一类特殊的因变量记录某个特定事件出现的次数(有序的非负整数),它们被称之为“计数数据”。如果我们按照普通的线性回归模型建模:

虽然等号两边都是具有数值意义的实数,但是等号右边可以是任意连续值,但是等号左边只能是非负实数(计数数据)。因此普通的线性回归模型是无法对计数数据建模的。

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

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

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

根据如上假设,我们可以设定事件在单位时间内发生

次的概率为:

P(freq = k) = \frac{\lambda^k}{k!}exp\{-\lambda\}
P(freq = k) = \frac{\lambda^k}{k!}exp\{-\lambda\}

其中

\lambda=E(freq)
\lambda=E(freq)

表示单位时间内事件发生次数的期望。

注意虽然单位时间内事件发生次数

只能是非负整数,但是期望

\lambda
\lambda

却可以是小数。

因为

\lambda
\lambda

是连续的,因此我们可以直接考虑自变量和

\lambda
\lambda

之间的关系,另外考虑到

\lambda
\lambda

是非负实数,我们可以建立线性回归模型:

log\{\lambda\} = \beta_0 + \beta_1x_1 + \beta_2x_2 +...+ \beta_px_p
log\{\lambda\} = \beta_0 + \beta_1x_1 + \beta_2x_2 +...+ \beta_px_p

参数估计

假设

(x_i,k_i)
(x_i,k_i)

是第

i
i

个样本的观测,其中

x_i=(x_{i1},x_{i2},...,x_{ip})
x_i=(x_{i1},x_{i2},...,x_{ip})

表示自变量向量,

k_i
k_i

表示因变量(即样本在单位时间内出现的次数)。根据假定的模型,我们可以得到该样本的概率为:

\frac{\lambda (x_i)^{k_i}}{k_i!} exp\{-\lambda(x_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}
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) \}
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)'
\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)]
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\Theta = (\hat\beta_0, \hat\beta_1,...,\hat\beta_p)'

检验统计量

泊松回归模型中

\hat\beta_i
\hat\beta_i

的真实分布是未知的,但是基于中心极限定理,

\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
\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
\hat\beta_j

的标准差

\sigma(\hat\beta_j)
\sigma(\hat\beta_j)

,我们就可以构造如下检验统计量对各个自变量的显著性进行检验:

T_j = \frac{\hat\beta_j}{\hat\sigma(\hat\beta_j)}
T_j = \frac{\hat\beta_j}{\hat\sigma(\hat\beta_j)}

在原假设成立的情况下,该检验统计量近似服从标准正态分布。因此对于给定的显著性水平如

0.05
0.05

,我们可以根据

T_j
T_j

的绝对值是否大于

z_{0.975}
z_{0.975}

来决定是否拒绝原假设。

如果需要检验模型的整体显著性水平,我们可以使用似然比检验,其统计量为:

\gamma = -2 \times(\max_{\beta_0} log\{L(\beta_0, \beta=0)\} - \max_{(\beta_0, \beta)} log\{L(\beta_0, \beta)\})
\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)'
\beta = (\beta_1, \beta_2,...,\beta_p)'

表示长度为

p
p

自变量系数向量。当原假设成立且样本量足够大时

\gamma
\gamma

近似服从自由度为

P
P

的卡方分布,自此我们即可完成模型整体显著性水平的检验。

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 需要泊松回归的原因
  • 泊松回归的假设&模型建立
  • 参数估计
  • 检验统计量
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com