8

我刚开始学习 R,需要一些帮助来找到我的数据的残差平均值和中位数。我计算了 lm 并在总结中得到如下残差:

min       1Q        median  3Q      Max
-111.86   -34.90     -7.6   33.46   182.58

问题:所以残差的中位数是-7.6,但这是我的平均值吗? 或者是否有计算残差的平均值和中位数? 我打算做 mean(resid(trees.lm) 还是应该输入 mean(trees.lm$resid)

请澄清一下,因为我的同学对同一数据集都有不同的反应。

4

1 回答 1

7

这里一个具体问题的答案是:

mean(resid(trees.lm))

您不应该像这样深入研究拟合的模型对象并去除任意组件。当你意识到你刚刚通过以下方式提取了工作残差时,在像 GLM 这样更复杂的东西上这样做会咬你的手:

glm.mod.obj$residuals

这不太可能对您有用。

即使对于像对象这样的简单事物lm(),使用resid()或访问的内容$residuals也可能会有所不同,具体取决于模型的拟合方式(na.action例如,参数的设置是什么?)。

此外,线性模型假设残差是具有均值 0 和方差 $\hat{\sigma}^2}$ 的 iid 高斯(或正态)随机变量,因此均值应该非常接近 0(即非常、非常、非常接近 0 但不完全是因为这是一台计算机并且浮点运算正在发挥作用)。

于 2012-09-17T14:28:23.163 回答