R中的偏移规范

时间:2015-03-24 09:11:56

标签: r offset glm

在R中读取glm的描述我不清楚在公式中指定模型偏移量或使用偏移量参数之间有什么区别。

在我的模型中,我有一个响应y,应该用偏移项w除以,为简单起见假设我们有协变量x。我使用日志链接。

之间有什么区别
glm(log(y)~x+offset(-log(w)))

glm(log(y)~x,offset=-log(w))

2 个答案:

答案 0 :(得分:0)

这两种方式完全相同。

这可以在文档(粗体部分)中看到:

  

这可以用于指定在拟合期间包括在线性预测器中的先验已知分量。这应该是NULL或长度等于个案数的数字向量。 一个或多个偏移项可以包含在公式中,也可以包含在中,如果指定了多个偏移项,则使用它们的总和。见model.offset。

以上讨论了offset函数中的glm参数,并说它可以包含在公式中,也可以包含在中。

下面的简单示例表明以上情况属实:

数据

y <- sample(1:2, 50, rep=TRUE)
x <- runif(50)
w <- 1:50
df <- data.frame(y,x)

第一个模型:

> glm(log(y)~x+offset(-log(w)))

Call:  glm(formula = log(y) ~ x + offset(-log(w)))

Coefficients:
(Intercept)            x  
     3.6272      -0.4152  

Degrees of Freedom: 49 Total (i.e. Null);  48 Residual
Null Deviance:      44.52 
Residual Deviance: 43.69    AIC: 141.2

第二种方式:

> glm(log(y)~x,offset=-log(w))

Call:  glm(formula = log(y) ~ x, offset = -log(w))

Coefficients:
(Intercept)            x  
     3.6272      -0.4152  

Degrees of Freedom: 49 Total (i.e. Null);  48 Residual
Null Deviance:      44.52 
Residual Deviance: 43.69    AIC: 141.2

正如你所看到的那两个是相同的。

答案 1 :(得分:0)

我只想补充一点,当您在公式 glm(log(y)~x+offset(-log(w))) 中使用偏移量并以这种方式构建模型时,如果您稍后想对数据进行预测,它将考虑 {{1} }(本例中的偏移量),因此如果您在 w 参数中包含偏移量,预测将考虑偏移量。