如何在 R 中验证和诊断伽马 GLM?

机器算法验证 r 广义线性模型 参考 伽马分布 诊断
2022-03-17 21:50:50

我正在用日志链接在 R 中拟合一个广义线性模型,我需要验证和诊断我的模型。我过去从未与 GLM 合作过。

  • 有没有可以帮助我学习如何诊断模型的文章或任何参考资料?
  • 有没有人对我有任何关于如何做到这一点甚至只是如何开始的提示?
  • 偏差和偏差有什么区别r2?
  • 我们可以计算 GLM 中的 SS 误差吗?

(对我来说最好的理解方法是给出公式并解释它们的用途。)

1个回答

- 参见Chambers 和 Hastie所著的“ S 中的统计模型”一书中的第 6 章或第 6.3.4 节。您还想检查包启动和功能“glm.diag.plots”(广义线性模型的诊断图)。这是一些带有 gamma 系列的代码和帮助文件中的图。

library(boot)
data(leuk, package = "MASS")
leuk.mod <- glm(time ~ ag-1+log10(wbc), family = Gamma(log), data = leuk)
leuk.diag <- glm.diag(leuk.mod)
glm.diag.plots(leuk.mod, leuk.diag)

在此处输入图像描述
这些图是(左上:残差与线性预测变量,右上:标准化偏差残差的正态分数图,左下:针对杠杆的近似库克统计,右下:库克统计图)
-参见广义线性模型简介
-有看看上面的参考资料,第 42 页和第 44 页,看看偏差和r2.
- 下面的代码显示了如何找到 SSE(但通常你不需要它!)

#Create a data set
counts <- c(18,17,15,20,10,20,25,13,12)
outcome <- gl(3,1,9)
treatment <- gl(3,3)
print(d.AD <- data.frame(treatment, outcome, counts))
#Fitting poisson GLM
glm.D93 <- glm(counts ~ outcome + treatment, family=poisson())
summary(glm.D93)
# In the following, resid(glm.D93) extracts residuals of the fitted model glm.D93 
SSE=sum(resid(glm.D93))^2
SSE
[1] 0.04638682