当我使用R运行lm()回归时,我从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发布于 2019-07-31 20:59:44
残差标准误差是对线性模型残差的可变性的度量。它的平方用于F检验的分母,用于评估模型的拟合。可以使用sigma直接检索它
fm <- lm(mpg ~., mtcars)
sigma(fm)
## [1] 2.650197或按如下方式导出(假设所有系数都不是NA):
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-07F值
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.026948https://stackoverflow.com/questions/57290710
复制相似问题