下面是数据集的线性模型输出,该数据集由响应变量和三个解释变量组成。我如何获得原始回归的RSS?
Call:
lm(formula = y ~ x1 + x2 + x3)
Residuals:
Min 1Q Median 3Q Max
-4.9282 -1.3174 0.0059 1.3238 4.4560
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -7.056057 1.963805 -3.593 0.000481 ***
x1 3.058592 0.089442 34.196 < 2e-16 ***
x2 -5.763410 0.168072 -34.291 < 2e-16 ***
x3 0.000571 0.165153 0.003 0.997247
---
Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
Residual standard error: 1.928 on 116 degrees of freedom
Multiple R-squared: 0.9546,Adjusted R-squared: 0.9535
F-statistic: 814 on 3 and 116 DF, p-value: < 2.2e-16
答案 0 :(得分:16)
以下是使用内置anscombe
数据集计算残差平方和(RSS)的一些方法:
fm <- lm(y1 ~ x1+x2+x3, anscombe)
deviance(fm)
## [1] 13.76269
sum(resid(fm)^2)
## [1] 13.76269
anova(fm) # see the Residuals row of the Sum Sq column
## Analysis of Variance Table
##
## Response: y1
## Df Sum Sq Mean Sq F value Pr(>F)
## x1 1 27.510 27.5100 17.99 0.00217 **
## Residuals 9 13.763 1.5292
## ---
## Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
anova(fm)["Residuals", "Sum Sq"]
## [1] 13.76269
with(summary(fm), df[2] * sigma^2)
## [1] 13.76269
关于最后一项,请注意summary(fm)$df[2]
和summary(fm)$sigma
会显示在summary(fm)
输出中,以防您只想使用summary
的打印输出来计算RSS。特别是,对于问题中显示的输出df [2] = 116和sigma = 1.928所以RSS = df [2] * sigma ^ 2 = 116 * 1.928 ^ 2 = 431.1933。
答案 1 :(得分:0)
aov(公式= y~x1 + x2 + x3)
答案 2 :(得分:0)
当您使用 glm 时,qpcR 库可以计算 nls、lm、glm、drc 或可以从中提取残差的任何其他模型的残差平方和。这里 RSS(fit) 函数返回模型的 RSS 值。
install.packages('qpcR')
library(qpcR)
fm <- lm(y1 ~ x1+x2+x3)
RSS(fm)