Comment obtenir la valeur de l'erreur quadratique moyenne dans une régression linéaire dans R

20

Soit un modèle de régression linéaire obtenu par la fonction R lm voudrait savoir s'il est possible de l'obtenir par la commande Mean Squared Error.

J'ai eu la sortie SUIVANTE d'un exemple

> 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

Plusieurs R au carré est l'erreur de somme des carrés? si la réponse est non, cela pourrait expliquer la signification de Multiple R-carré et Multiple R-carré

Cyberguille
la source

Réponses:

25

Le multiple R au carré que R rapporte est le coefficient de détermination , qui est donné par la formule

R2=1-SSresSStot.

La somme des erreurs quadratiques est donnée (grâce à une réponse précédente ) par sum(sm$residuals^2).

L'erreur quadratique moyenne est donnée par mean(sm$residuals^2). Vous pouvez écrire une fonction pour calculer cela, par exemple:

mse <- function(sm) 
    mean(sm$residuals^2)
fbt
la source
5
sm$sigma^2 * sm$fstatistic[3]/(1+sum(sm$fstatistic[2:3]))8.173581+18.1732×58/(1+1+58)=64,57 .
whuber
6
Antépénultième est un grand mot.
2014
1
Comme d'habitude, une manière beaucoup plus soignée est d'écriremse <- function(sm) mean(sm$residuals^2)
Marius Hofert
4
> N'est-ce pas que l'erreur quadratique moyenne est donnée par les résidus ^ 2 / erreur df de la table ANOVA au lieu de la moyenne (résidus ^ 2). Ce dernier est le carré d'erreur de prédiction moyenne. Je ne sais pas si je manque de compréhension. Désolé, je n'ai pas assez de points de réputation pour poster un commentaire.
SrikanthRaja
1
Mais je suis d'accord avec ce que user45409 a dit. D'après ce que j'ai appris, MSE = résidus ^ 2 / erreur df.
vtshen