如何使用R在GLM中指定负二项式误差分布?

时间:2013-09-08 15:17:10

标签: r glm

我正在使用R中的glm()函数构建模型。假设我知道我的数据的误差分布符合负二项分布。

当我在R手册中搜索各个系列时,family=binomial作为选项提供,但negative binomial不是。

在R手册(系列)的同一部分中,NegBinomial在“另请参阅”部分中链接,但它在二项式系数的上下文中显示(我甚至不知道这是什么是指)。

总而言之,我希望找到与glm(y~x, family=negbinomial, data=d,na.omit)类似的语法。

2 个答案:

答案 0 :(得分:5)

对于未知的过度离散参数,负二项式不是负指数族的一部分,因此不能作为标准GLM(或glm())拟合。 glm.nb()包中有一个MASS函数可以帮助您...

library(MASS)
glm.nb(y~x, ...)

如果您碰巧有一个已知/固定的过度离散参数(例如,如果您想要拟合具有theta=1的几何分布模型),则可以使用negative.binomial中的MASS族}:

glm(y~x,family=negative.binomial(theta=1), ...)

MASS::glm.nb的“另请参阅”部分?glm可能不会受到伤害...

答案 1 :(得分:0)

我不相信theta是过度离散参数。 Theta是分布的形状参数,过度离散与k相同,如The R Book(Crawley 2007)中所讨论的。 glm.nb()模型的模型输出意味着theta不等于过度离散参数:

负二项式(0.493)族的色散参数取为0.4623841

色散参数与theta不同。