2016-11-07 9 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

Вот несколько способов вычисления остаточной суммы квадратов (RSS), используя встроенный набор anscombe данных:

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) в случае, если вы хотите рассчитать RSS, используя только распечатку с summary. В частности, для выхода, показанного в вопросе df [2] = 116 и сигма = 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 Grothendieck вы можете проверить его с помощью данных anscombe 'aov (formula = y1 ~ x1 + x2 + x3, anscombe)' –