【问题标题】:mean and median of residuals from a linear model线性模型残差的均值和中位数
【发布时间】:2012-09-18 03:24:34
【问题描述】:

我刚开始学习 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)

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

【问题讨论】:

    标签: r mean


    【解决方案1】:

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

    mean(resid(trees.lm))
    

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

    glm.mod.obj$residuals
    

    这对你不太可能有用。

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

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

    【讨论】:

    • 无论模型如何拟合残差的平均值都将接近于零。这在 OLS 中永远不会令人惊讶。
    • 糟糕,我在写这篇文章的时候脑子里有别的东西,你说得对。编辑我的愚蠢。
    • 在 OLS 中,残差之和正好等于零。它是最小化残差平方的属性。
    • @MichaelChernick,你是对的,除了R 通常报告1e-14 或类似的平均值。这就是为什么我将我的评论设为“接近于零”而不是“完全为零”。
    • 确实是@Max,这也是为什么我在进行编辑时留在接近零位的原因。在数学上它应该是 0,但计算机会将它报告为几乎为零的值,如果人们不知道这一点,这可能会使他们感到困惑。
    猜你喜欢
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 2018-02-23
    • 2018-12-07
    • 2020-10-22
    • 1970-01-01
    相关资源
    最近更新 更多