理解glm$residuals和resid(glm)

13
你能告诉我在quasipoisson对象中,glm$residualsresid(glm)返回什么吗?例如,我如何使用glm$y和glm$linear.predictors来创建它们。

glm$residuals

返回的是拟合后残差。
     n missing  unique    Mean     .05     .10   .25  .50     .75     .90     .95

 37715   10042    2174 -0.2574 -2.7538 -2.2661 -1.4480 -0.4381  0.7542  1.9845  2.7749



lowest : -4.243 -3.552 -3.509 -3.481 -3.464
highest:  8.195  8.319  8.592  9.089  9.416

resid(glm)

        n    missing     unique       Mean        .05        .10        .25
    37715          0       2048 -2.727e-10    -1.0000    -1.0000    -0.6276
      .50        .75        .90        .95
  -0.2080     0.4106     1.1766     1.7333

lowest : -1.0000 -0.8415 -0.8350 -0.8333 -0.8288
highest:  7.2491  7.6110  7.6486  7.9574 10.1932
2个回答

26

调用resid(model)将默认使用偏离残差(deviance residuals),而model$resid将给出工作残差(working residuals)。由于链接函数的存在,模型残差没有单一定义。有偏离、工作、部分、Pearson和响应残差。因为它们只依赖于均值结构(而非方差),因此quasipoisson和poisson的残差具有相同的形式。你可以查看residuals.glm函数以获得详细信息,以下是一个例子:

counts <- c(18,17,15,20,10,20,25,13,12)
outcome <- gl(3,1,9)
treatment <- gl(3,3)
glm.D93 <- glm(counts ~ outcome + treatment, family=quasipoisson())
glm.D93$resid


#working
resid(glm.D93,type="working")
(counts - glm.D93$fitted.values)/exp(glm.D93$linear)

#deviance
resid(glm.D93,type="dev")
fit <- exp(glm.D93$linear)
poisson.dev <- function (y, mu) 
    sqrt(2 * (y * log(ifelse(y == 0, 1, y/mu)) - (y - mu)))
poisson.dev(counts,fit) * ifelse(counts > fit,1,-1)

#response
resid(glm.D93,type="resp")
counts - fit

#pearson
resid(glm.D93,type="pear")
(counts - fit)/sqrt(fit)

1
这太棒了。现在我只需要学习每种残差在进行回归诊断时最有用的情况。亚当下面推荐的书籍(Hardin和Hilbe的“广义线性模型和扩展”)似乎很有帮助,还有其他建议吗? - Michael Bishop

4
我对泊松分布和拟泊松分布的了解不够深入,无法回答您提出的问题(即使用模型将变量转换为残差的精确方程),但如果混淆是由于使用的残差类型以及两个命令为什么给出不同答案,那么以下内容可能会有所帮助:
在R中,resid()默认使用“偏离度”类型。然而,glm()将不同类型的残差分配给$residuals向量。
如果您正在使用拟泊松族,glm()将分配工作类型的残差,而resid()则默认给出偏离度类型。
要尝试这个方法,您可以使用:
resid(glm,type="working")

glm$residuals
这应该会给你相同的答案(至少在我使用的样本数据集上是这样的)。
根据R的说法,工作残差是:“IWLS拟合的最终迭代中的残差”。
如果您在Google Books上查找“广义线性模型和扩展”(Hardin和Hilbe著),您可以访问第4.5节,其中解释了各种类型的残差。

非常感谢 Hardin 和 Hilbe 的书籍提供的绝佳参考!谢谢! - Theodore Lytras

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接