在R中lm()回归的summary()中,“残差标准误差”的含义是什么?

5

当我使用R运行lm()回归时,从summary()中得到了“残差标准误差”。为什么只有一个残差标准误差值,而不是每个观测值的残差标准误差列表?

这个数值在summary()中的意义是什么?在summary()中显示的“残差标准误差”是每个观测值的残差标准误差列表的平均值吗?谢谢。

Residual standard error: 0.8498 on 44848 degrees of freedom
  (7940 observations deleted due to missingness)
Multiple R-squared:  0.4377,    Adjusted R-squared:  0.4375

4
首先是谷歌搜索结果:(https://stats.stackexchange.com/questions/57746/what-is-residual-standard-error),其中包含许多其他相关问题的链接。 - Gabriel M. Silva
1
关于关闭投票,这个问题似乎涉及解释一个R函数的输出,而这个函数是关于编程的,因此似乎是相关的。 - G. Grothendieck
1个回答

9

剩余标准误差是衡量线性模型残差变异性的一种方法。它的平方被用于F检验的分母,用于评估模型的拟合度。可以直接使用sigma获取。

fm <- lm(mpg ~., mtcars)
sigma(fm)
## [1] 2.650197

或者按照以下方式推导(前提是没有任何系数为空):

sqrt(deviance(fm) / (nobs(fm) - length(coef(fm))))
## [1] 2.650197

deviance(fm)函数返回残差平方和:

deviance(fm)
## [1] 147.4944

sum(resid(fm)^2)  # same
## [1] 147.4944

剩余标准误差也显示在summary的输出中:

summary(fm)
# ...snip...
## Residual standard error: 2.65 on 21 degrees of freedom
## Multiple R-squared:  0.869,     Adjusted R-squared:  0.8066 
## F-statistic: 13.93 on 10 and 21 DF,  p-value: 3.793e-07

F值

F值用于比较拟合值的变异性(在分子中)与残差的变异性(在分母中)。对于残差变异性部分,它使用残差标准误差 sigma(fm) 的平方。对于带有截距的模型,可以按以下方式计算。

# F value shown in summary

num <- sum( (fitted(fm) - mean(fitted(fm)))^2 ) / (length(coef(fm)) - 1) 
den <- sigma(fm)^2
num / den
# [1] 13.93246

特殊情况 -- 只有截距的模型

在只有截距的模型中,残差标准误差等于残差的标准差,但通常情况下二者并不相等。

# for intercept only model residual standard error equals sd(residuals)

fm0 <- lm(mpg ~ 1, mtcars)
sigma(fm0)
## [1] 6.026948

sd(resid(fm0))
## [1] 6.026948

因为回答的清晰度和优秀性而点赞。 - James Phillips

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接