R'de lineer regresyonda ortalama kare hata değeri nasıl alınır


20

R fonksiyonu lm tarafından elde edilen doğrusal regresyon modelinin, Ortalama Kare Hatası komutu ile elde edilip edilemeyeceğini bilmek ister.

Bir örnek şu şekilde çıktı aldım

> 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

Birden fazla R kare toplam kare hatası mı? cevap hayır ise Çoklu R kare ve Çoklu R kare anlamını açıklayabilir

Yanıtlar:


25

R'nin raporladığı çoklu R-kare , formül tarafından verilen belirleme katsayısıdır

R2=1SSresSStot.

Kare hataların toplamı (önceki yanıt sayesinde ) tarafından verilir sum(sm$residuals^2).

Ortalama kare hatası ile verilir mean(sm$residuals^2). Bunu hesaplamak için bir işlev yazabilirsiniz, örneğin:

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

5
+1. Başka bir çözüm, sadece çıktıda görünür dayalı olduğunu sm$sigma^2 * sm$fstatistic[3]/(1+sum(sm$fstatistic[2:3])). Yani, önceki ve ve son satırda ( ) parametre sayısını . 58 1 + 1 8.173 2 × 58 / ( 1 + 1 + 58 ) = 64.578.173581+18.1732×58/(1+1+58)=64.57
whuber

6
Antepenultimate harika bir kelimedir.
fbt

1
Her zamanki gibi, çok daha temiz bir yol yazmaktırmse <- function(sm) mean(sm$residuals^2)
Marius Hofert

4
> Ortalama kare hatası ortalama ^ 2 / hata df kalıntıları tarafından ANOVA tablosundan ortalama yerine (artıklar ^ 2) verilir mi? İkincisi, ortalama tahmin hatası karesidir. Anlayışımın eksik olup olmadığından emin değilim. Üzgünüm, yorum göndermek için yeterli itibar puanım yok.
SrikanthRaja

1
Ama user45409'un söylediklerine katılıyorum. Öğrendiklerime göre MSE = artıklar ^ 2 / hata df.
vtshen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.