2017-04-02 2 views
2

Ich habe einige Zweifel bezüglich der Berechnung von MSE in R.Berechnung von MSE: Warum geben diese beiden Möglichkeiten unterschiedliche Ergebnisse?

Ich habe zwei verschiedene Möglichkeiten ausprobiert und ich bekomme zwei verschiedene Ergebnisse. Wollte wissen, welcher der richtige Weg ist, um mse zu finden.

Erstens:

model1 <- lm(data=d, x ~ y) 
rmse_model1 <- mean((d - predict(model1))^2) 

Zweitens:

mean(model1$residuals^2) 
+0

Danke! Ja, es gibt tatsächlich das gleiche Ergebnis. –

Antwort

3

Grundsätzlich sollten sie das gleiche Ergebnis geben. Aber in der ersten Option sollten Sie d$x verwenden. Wenn Sie nur d, Recycling-Regel verwenden in R wird zweimal wiederholen predict(model1) (wie d hat zwei Spalten) und die Berechnung wird auch beinhalten d$y.

Beachten Sie, dass es empfohlen wird na.rm = TRUE-mean und newdata = d zu predict in der ersten Option aufzunehmen. Dies macht Ihren Code robust gegenüber fehlenden Werten in Ihren Daten. Auf der anderen Seite brauchen Sie sich keine Gedanken über NA in der zweiten Option zu machen, da lm automatisch NA Fälle fallen lässt. Sie können sich diesen Thread für mögliche Auswirkungen dieser Funktion ansehen: Aligning Data frame with missing values.

Verwandte Themen