解释 glm.diag.plots
机器算法验证
r
广义线性模型
数据可视化
诊断
2022-03-31 18:59:24
1个回答
GLM 的诊断图与 LM 的诊断图非常相似,因为 GLM 的残差应该是同方差的,独立于均值,并且渐近接近正态性,即在泊松或二项式的大量计数的情况下(这的二元或二项式;又名标准逻辑回归)响应的用处要小得多;例如,请参见此CV 答案。
我并不完全清楚为什么会有单独boot::glm.diag.plots()的底层boot::glm.diag()函数与内置函数stats::plot.lm()(也处理glm模型)有很大的重叠;我的猜测是包的作者 (A. Canty) 的偏好与 的作者略有不同stats::plot.lm(),或者更可能的是该boot包是在 1997 年开发的,当时 R 项目刚刚开始,所以这些函数是写在平行。
plot.lm()以下是和之间的一些异同glm.diag.plots():
- 线性预测器(又名“拟合”)与残差:与 中的第一个图(或
which=1)相同plot.lm(),除了glm.diag.plots()使用折刀偏差残差,我无法在任何地方找到定义(它可能在 Davison 和 Snell 章节中作为参考给出?glm.diag),但计算为偏差残差sign(dev) * sqrt(dev^2 + h * rp^2)在哪里;是帽子值;是标准化的皮尔逊残差(皮尔逊残差除以尺度参数,如果有,除以)。devhrpsqrt(1-h) - 有序偏差残差与标准正态分位数:“QQ 图”,与 中的第三个图 (
which=3)相同plot.lm();两者都使用标准化偏差残差,尽管您必须查看代码才能找到答案。 - vs. Cook 统计:用来
which=6从plot.lm()(是“杠杆”)得到这个。使用更保守的经验法则来决定哪些点可能是“有影响力的”。glm.diag.plots() which=4案例与库克统计:与中相同plot.lm()。
plot.lm()似乎有一些优点,因为它(1)更稳健地处理零权重和无限情况,(2)在图形中添加一些平滑线和轮廓以帮助解释。该car软件包具有一些扩展功能(例如qqPlot),并且该DHARMa软件包使用模拟残差来为逻辑回归和其他 GLM 获得更多可解释的残差图。mgcv::qq.gam还通过残差模拟生成改进的 QQ 图。
您的第一个案例看起来不错:没有明显的模式,线性 QQ 情节,几个“影响”点。我肯定会仔细检查具有高库克距离和线性预测值 >15 的两个点......我无法从图中真正看出,但看起来您的数据中可能有许多重复值?
第二种情况:与第一种情况相同,只是你有更多的点(例如,情节 1 中的聚类模式要强得多)。QQ 情节看起来很不稳定,但我不确定我会为此担心多少。尝试使用模拟残差(DHARMa包)...
其它你可能感兴趣的问题

