本篇是”广义线性模型”系列推文的最后一篇,来介绍另外一种重要的广义线性模型:负二项回归。
同泊松回归一样,负二项回归也是计数模型。由于泊松回归的内在要求是因变量的数学期望和方差相等,而当数据序列出现”过度离散”(方差比理论值大)时,可有两种方式进行模型修正:
- 使用准泊松分布族;
- 改用负二项回归。
前者已经介绍过了,本篇来介绍后者——负二项回归。
模型形式
负二项回归的模型形式与泊松回归十分相似。
泊松回归:
负二项回归:
泊松分布与负二项分布有着内在的联系。当泊松分布的参数 不再是一个确定的数值,而是服从伽马分布进行变化时,此时的分布形式称为 伽马-泊松混合分布,负二项分布是伽马-泊松混合分布的特例。
《Modern Applied Statistics with S-PLUS》[1]上有关于负二项分布与泊松分布关系的描述:
负二项分布的方差恒大于数学期望,并受参数 的影响。从模型形式上看,负二项回归比泊松回归多了一个随机项 :
- 为伽马分布的记号。
负二项分布
泊松分布的概率函数如下:
伽马分布 的概率密度函数如下:
为形状参数, 为逆尺度参数。数学期望 ,方差 。
伽马-泊松混合分布的概率密度函数如下:
负二项分布的概率函数如下:
对比伽马-泊松混合分布和负二项分布的概率(密度)函数,令 , ,则二者相等。
负二项分布的意义:随机事件刚好第 次发生(不发生)时所经历的不发生(发生)的次数。
模型的R代码
负二项回归虽然属于广义线性模型,但在 stats
工具包中并没有定义负二项分布族函数。
MASS
工具包的 glm.nb
函数可以进行负二项回归,并自动确定 参数的取值。
glm.nb(formula, data, weights,
subset, na.action,
start = NULL, etastart, mustart,
control = glm.control(...),
method = "glm.fit",
model = TRUE, x = FALSE, y = TRUE,
contrasts = NULL, ...,
init.theta, link = log)
MASS
工具包的名称即上面提到的《Modern Applied Statistics with S-PLUS》的首字母缩写;glm.nb
函数专门用于负二项回归,因此无需family
参数。
library(MASS)
model.nb |z|)
## (Intercept) 2.89458 0.22842 12.672
MASS
工具包还定义可以在 glm
函数中使用的负二项分布族函数 negative.binomial
:
negative.binomial(theta = stop("'theta' must be specified"),
link = "log")
使用 negative.binomial
函数时需指定 参数。根据《Modern Applied Statistics with S-PLUS》中的方法,可以使用 MASS
工具包中的 logtrans
函数大致确定 的取值:
logtrans(Days ~ Eth + Sex + Age+ Lrn,
data = quine)
根据上图, 的最佳取值约等于2。
model.nb2 |t|)
## (Intercept) 2.88658 0.22715 12.708
相关阅读:
[1]
Venables, W. N. and Ripley, B. D. (1999) Modern Applied Statistics with S-PLUS. Third Edition. Springer .
Original: https://blog.csdn.net/weixin_54000907/article/details/117915956
Author: R语言学堂
Title: MASS | 广义线性模型(四)——负二项回归
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/690412/
转载文章受原作者版权保护。转载请注明原作者出处!