R의 선형 회귀 분석에서 평균 제곱 오차 값을 얻는 방법


20

R 함수 lm으로 얻은 선형 회귀 모델에 평균 제곱 오차 명령으로 얻을 수 있는지 알고 싶습니다.

예제의 FOLLOWING 출력이 있습니다.

> lm <- lm(MuscleMAss~Age,data)
> sm<-summary(lm)
> sm

Call:
lm(formula = MuscleMAss ~ Age, data = data)

Residuals:
     Min       1Q   Median       3Q      Max 
-16.1368  -6.1968  -0.5969   6.7607  23.4731 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 156.3466     5.5123   28.36   <2e-16 ***
Age          -1.1900     0.0902  -13.19   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 8.173 on 58 degrees of freedom
Multiple R-squared:  0.7501,    Adjusted R-squared:  0.7458 
F-statistic: 174.1 on 1 and 58 DF,  p-value: < 2.2e-16

다중 R- 제곱은 합 제곱 오차입니까? 대답이 없으면 다중 R 제곱 및 다중 R 제곱의 의미를 설명 할 수없는 경우

답변:


25

R이보고하는 다중 R- 제곱 은 공식에 의해 주어진 결정 계수입니다.

아르 자형2=1에스에스입술에스에스더하다.

제곱 오차의 합은 (이전 답변 덕분에 )에 의해 제공됩니다 sum(sm$residuals^2).

평균 제곱 오차는로 표시됩니다 mean(sm$residuals^2). 이를 계산하는 함수를 작성할 수 있습니다. 예 :

mse <- function(sm) 
    mean(sm$residuals^2)

5
sm$sigma^2 * sm$fstatistic[3]/(1+sum(sm$fstatistic[2:3]))8.173581+18.1732×58/(1+1+58)=64.57

6
Antepenultimate는 훌륭한 단어입니다.
fbt

1
평소와 같이 훨씬 더 깔끔한 방법은 다음과 같습니다.mse <- function(sm) mean(sm$residuals^2)
Marius Hofert

4
> 평균 제곱 오차는 평균 (잔여 ^ 2) 대신 분산 분석표의 잔차 ^ 2 / 오차 df로 표시되는 것이 아닙니까? 후자는 평균 예측 오차 제곱입니다. 이해가 부족한지 확실하지 않습니다. 죄송합니다. 의견을 게시 할만큼 평판이 충분하지 않습니다.
SrikanthRaja

1
그러나 나는 user45409가 말한 것에 동의합니다. 내가 배운 것에 따르면, MSE = 잔차 ^ 2 / 오류 df.
vtshen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.