Como obter o valor do erro médio quadrático em uma regressão linear em R


20

Deixe um modelo de regressão linear obtido pela função R lm gostaria de saber se é possível obter pelo comando Erro Quadrático Médio.

Eu tive a seguinte saída de um exemplo

> 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-quadrado múltiplo é o erro da soma quadrada? se a resposta for não, poderia explicar o significado de R múltiplo ao quadrado e R múltiplo ao quadrado

Respostas:


25

O múltiplo R ao quadrado que R informa é o coeficiente de determinação , que é dado pela fórmula

R2=1SSresSStot.

A soma dos erros quadráticos é dada (graças a uma resposta anterior ) por sum(sm$residuals^2).

O erro quadrático médio é dado por mean(sm$residuals^2). Você pode escrever uma função para calcular isso, por exemplo:

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

5
+1. Outra solução, baseada apenas no que é visível na saída , é sm$sigma^2 * sm$fstatistic[3]/(1+sum(sm$fstatistic[2:3])). Ou seja, na linha antepenúltima você lê os e df e na linha final conta o número de parâmetros ( ), fornecendo . 8.173581+18.1732×58/(1+1+58)=64.57
whuber

6
Antepenúltimo é uma grande palavra.
fbt 16/07

1
Como de costume, uma maneira mais limpa tanto é escrevermse <- function(sm) mean(sm$residuals^2)
Marius Hofert

4
> Não é que o erro quadrático médio seja dado pelos resíduos ^ 2 / erro df da tabela ANOVA em vez da média (resíduos ^ 2). O último é o quadrado médio do erro de previsão. Não tenho certeza se estou perdendo algum entendimento. Desculpe, não tenho pontos de reputação suficientes para postar um comentário.
SrikanthRaja

1
Mas eu concordo com o que o user45409 disse. De acordo com o que aprendi, MSE = resíduos ^ 2 / erro df.
vtshen 01/09/16
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.