2016-11-07 93 views
3

下面是由響應變量和三個解釋變量組成的數據集的線性模型輸出。我如何獲得原始迴歸的RSS?如何從線性模型輸出中獲取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 

回答

11

下面是使用內置的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 

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。

-2

aov(formula = y〜x1 + x2 + x3)

+0

這是問題的答案?你能再解釋一下,這將如何工作? – rene

+0

我認爲他的意思是「殘差平方和」包含在'aov()'函數的標準輸出中。與G格洛騰迪克的答案類似,你可以用anscombe數據「aov(formula = y1〜x1 + x2 + x3,anscombe) –