R中的残差汇总

机器算法验证 r 回归 广义线性模型 残差 多重插补
2022-04-21 08:03:52

[详情请看图片!](https://onlinecourses.science.psu.edu/stat504/sites/onlinecourses.science.psu.edu.stat504/files/lesson07/crab_r_output_02.gif)

忽略图像中的“偏差”,R 中多元回归分析的输出看起来很像这样。据我了解,残差是错误。5 值汇总是否将残差称为估计误差,还是这些不同?还是我对残差的理解有误?

2个回答

您看到的残差5 个数字摘要是用于构建箱线图的值。残差不一定是估计的误差,尽管你可以这样想;这取决于您要估计/预测的内容。

  • 人们通常用作“预测”的值是y^. 这实际上是条件分布的预测均值y, 那是N(μY|xi,σε2). 在这种情况下,残差可以帮助您了解该条件分布的其余部分(例如,它的方差)。
  • 或者,您可以使用y^作为新观察值的点预测,当X=xi. 这是合理的,因为先验正态分布的平均值是最有可能出现的单个点值。但是,您几乎总是会出错。你的残差分布可以告诉你一个新观察值的平均值与平均相差多远y^(即他们的 SD)。
  • 残差在帮助您估计样本统计数据(特别是您的 beta)的抽样分布的属性以及诊断模型可能存在的问题方面也很有用。

无论您如何考虑/使用残差,这些值都只是其分布的非参数摘要。(请注意,上述讨论是通用的,并且忽略了问题中显示的模型是泊松回归并且显示的残差是偏差残差这一事实。)

这些数字是偏差残差

rdi=sign(yiμi^)di

在哪里di是个体观察对偏差的贡献。

它们不像普通回归中的残差,这将是yiμi^

从概念上讲,皮尔逊残差更像是回归残差的概念 - 一个缩放的yiμi^.

然而,Pearson 残差在 GLM 中可能会相当偏斜并存在其他问题,而偏差残差往往更正常。

glmR 中函数返回一个函数,该函数定义di对于每个模型。

例如 1

utils::data(anorexia, package="MASS")
anorex.1 <- glm(Postwt ~ Prewt + Treat + offset(Prewt),
                family = gaussian, data = anorexia)

anorex.1$family$dev.resids
function (y, mu, wt) 
wt * ((y - mu)^2)      #<---- d(i) for a gaussian model 
<bytecode: 0x0bef2398>
<environment: 0x0d214114>

例如 2

clotting <- data.frame(
    u = c(5,10,15,20,30,40,60,80,100),
    lot1 = c(118,58,42,35,27,25,21,19,18),
    lot2 = c(69,35,26,21,18,16,13,12,12))
glm(lot1 ~ log(u), data=clotting, family=Gamma)$family$dev.resids
function (y, mu, wt) 
-2 * wt * (log(ifelse(y == 0, 1, y/mu)) - (y - mu)/mu) #<- d(i) for Gamma model
<bytecode: 0x0cd3d11c>
<environment: 0x0cd3fd94>