R - Verwirrt in der Restterminologie

34
  • Root Mean Square Error
  • Restsumme der Quadrate
  • Reststandardfehler
  • mittlere quadratische Fehler
  • Testfehler

Ich dachte, ich hätte diese Begriffe verstanden, aber je mehr ich statistische Probleme habe, desto mehr bin ich verwirrt, wo ich mich selbst errate. Ich hätte gerne eine Bestätigung und ein konkretes Beispiel

Ich kann die Gleichungen online leicht genug finden, aber ich habe Probleme, eine Erklärung dieser Begriffe zu bekommen, so dass ich die Unterschiede und die Art und Weise, wie sie zu einander führen, in meinem Kopf kristallisieren kann.

Wenn jemand diesen Code unten nehmen und darauf hinweisen kann, wie ich jeden dieser Begriffe berechnen würde, würde ich es begrüßen. R-Code wäre toll ..

Mit diesem Beispiel unten:

summary(lm(mpg~hp, data=mtcars))

Zeigen Sie mir im R-Code, wie ich finde:

rmse = ____
rss = ____
residual_standard_error = ______  # i know its there but need understanding
mean_squared_error = _______
test_error = ________

Bonuspunkte für die Erklärung, wie ich 5 bin, der Unterschiede / Ähnlichkeiten zwischen diesen. Beispiel:

rmse = squareroot(mss)
user3788557
quelle
2
Könnten Sie den Kontext angeben, in dem Sie den Begriff " Testfehler " gehört haben? Denn es ist etwas namens ‚Testfehler‘ , aber ich bin nicht ganz sicher ist es , was Sie suchen ... (es stellt sich im Rahmen eines von mit Test - Set und einen Trainingssatz --does jede dieser bekannt vor ? )
Steve S
Ja, ich verstehe, dass dies das Modell ist, das mit dem Trainingssatz erstellt wurde, der auf den Testsatz angewendet wurde. Der Testfehler ist modelliert als ys - test ys oder (modelliert als ys - test ys) ^ 2 oder (modelliert als ys - test ys) ^ 2 /// DF (oder N?) Oder ((modelliert als ys - test ys) ^ 2 / N) 5 & le;
user3788557

Antworten:

60

Wie gewünscht illustriere ich anhand einer einfachen Regression anhand der mtcarsDaten:

fit <- lm(mpg~hp, data=mtcars)
summary(fit)

Call:
lm(formula = mpg ~ hp, data = mtcars)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.7121 -2.1122 -0.8854  1.5819  8.2360 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 30.09886    1.63392  18.421  < 2e-16 ***
hp          -0.06823    0.01012  -6.742 1.79e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 3.863 on 30 degrees of freedom
Multiple R-squared:  0.6024,    Adjusted R-squared:  0.5892 
F-statistic: 45.46 on 1 and 30 DF,  p-value: 1.788e-07

Der mittlere quadratische Fehler (MSE) ist der Mittelwert aus dem Quadrat der Residuen:

# Mean squared error
mse <- mean(residuals(fit)^2)
mse
[1] 13.98982

Root Mean Squared Error (RMSE) ist dann die Quadratwurzel von MSE:

# Root mean squared error
rmse <- sqrt(mse)
rmse
[1] 3.740297

Die Restsumme der Quadrate (RSS) ist die Summe der quadratischen Residuen:

# Residual sum of squares
rss <- sum(residuals(fit)^2)
rss
[1] 447.6743

Der Residual Standard Error (RSE) ist die Quadratwurzel von (RSS / Freiheitsgrade):

# Residual standard error
rse <- sqrt( sum(residuals(fit)^2) / fit$df.residual ) 
rse
[1] 3.862962

Dieselbe Berechnung, vereinfacht, weil wir zuvor berechnet haben rss:

sqrt(rss / fit$df.residual)
[1] 3.862962

Der Begriff Testfehler im Kontext der Regression (und anderer prädiktiver Analysetechniken) bezieht sich normalerweise auf die Berechnung einer Teststatistik für Testdaten, die sich von Ihren Trainingsdaten unterscheidet.

Mit anderen Worten, Sie schätzen ein Modell anhand eines Teils Ihrer Daten (häufig einer Stichprobe von 80%) und berechnen dann den Fehler anhand der Hold-out-Stichprobe. Ich illustriere mtcarsdiesmal die Verwendung mit einer Stichprobe von 80%

set.seed(42)
train <- sample.int(nrow(mtcars), 26)
train
 [1] 30 32  9 25 18 15 20  4 16 17 11 24 19  5 31 21 23  2  7  8 22 27 10 28  1 29

Schätzen Sie das Modell ab und sagen Sie es dann mit den Daten für das Aussetzen voraus:

fit <- lm(mpg~hp, data=mtcars[train, ])
pred <- predict(fit, newdata=mtcars[-train, ])
pred
 Datsun 710     Valiant  Merc 450SE  Merc 450SL Merc 450SLC   Fiat X1-9 
   24.08103    23.26331    18.15257    18.15257    18.15257    25.92090 

Kombinieren Sie die Originaldaten und die Vorhersage in einem Datenrahmen

test <- data.frame(actual=mtcars$mpg[-train], pred)
    test$error <- with(test, pred-actual)
test
            actual     pred      error
Datsun 710    22.8 24.08103  1.2810309
Valiant       18.1 23.26331  5.1633124
Merc 450SE    16.4 18.15257  1.7525717
Merc 450SL    17.3 18.15257  0.8525717
Merc 450SLC   15.2 18.15257  2.9525717
Fiat X1-9     27.3 25.92090 -1.3791024

Berechnen Sie nun Ihre Teststatistik wie gewohnt. Ich illustriere MSE und RMSE:

test.mse <- with(test, mean(error^2))
test.mse
[1] 7.119804

test.rmse <- sqrt(test.mse)
test.rmse
[1] 2.668296

Beachten Sie, dass diese Antwort die Gewichtung der Beobachtungen ignoriert.

Andrie
quelle
Vielen Dank für diese Antwort, es hat mir wirklich geholfen zu verstehen. Bei der Recherche beschreibt Datacamps Lektion zur Modellanpassung eine andere Formel als Ihre für RMSE. Ich habe diese Seite nach einer Google-Suche gefunden. Die Formel, die Sie für RMSE angegeben haben, ist intuitiv sinnvoll und leicht zu verstehen. Ihre Berechnung für RMSE bezieht die Freiheitsgrade im Nenner mit ein. Auch wenn ich ihren Beitrag richtig gelesen habe, sagen sie, dass R RMSE den verbleibenden Standardfehler aufruft, aber von Ihrer Antwort sind dies unterschiedliche Bewertungsmetriken. Gedanken?
Doug Fir
22

Auf dem Originalplakat wurde nach einer Antwort "Erkläre wie ich 5 bin" gefragt. Angenommen, Ihr Schullehrer lädt Sie und Ihre Mitschüler ein, die Tischbreite des Lehrers zu erraten. Jeder der 20 Schüler in der Klasse kann ein Gerät (Lineal, Skala, Maßband oder Maßstab) auswählen und darf den Tisch 10 Mal messen. Sie alle werden gebeten, unterschiedliche Startpositionen auf dem Gerät zu verwenden, um zu vermeiden, dass dieselbe Nummer immer wieder gelesen wird. Der Anfangsmesswert muss dann vom Endmesswert subtrahiert werden, um schließlich eine Breitenmessung zu erhalten (Sie haben kürzlich gelernt, wie diese Art von Mathematik funktioniert).

Insgesamt wurden 200 Breitenmessungen in der Klasse durchgeführt (20 Schüler, je 10 Messungen). Die Beobachtungen werden dem Lehrer übergeben, der die Zahlen zusammenstellt. Das Subtrahieren der Beobachtungen jedes Schülers von einem Referenzwert führt zu weiteren 200 Zahlen, Abweichungen genannt . Die Lehrer mitteln jeden Schüler getrennt Probe zu erhalten 20 Mittel . Das Subtrahieren der Beobachtungen jedes Schülers von seinem individuellen Mittelwert führt zu 200 Abweichungen vom Mittelwert, die als Residuen bezeichnet werden . Wenn der Mittelwert der Residuen für jede Stichprobe berechnet würde, würde man feststellen, dass er immer Null ist. Wenn wir stattdessen jedes Residuum quadrieren, den Durchschnitt bilden und schließlich das Quadrat aufheben, erhalten wir die Standardabweichung. (Übrigens nennen wir dieses letzte Berechnungsbit die Quadratwurzel (denken Sie daran, die Basis oder Seite eines gegebenen Quadrats zu finden), so dass die gesamte Operation oft kurz als Root-Mean-Square bezeichnet wird , wobei die Standardabweichung der Beobachtungen gleich ist das quadratische Mittel der Residuen.)

Aber der Lehrer kannte die wahre Tischbreite bereits, basierend darauf, wie sie in der Fabrik entworfen, gebaut und geprüft wurde. So können weitere 200 als Fehler bezeichnete Zahlen als Abweichung der Beobachtungen von der tatsächlichen Breite berechnet werden. Für jede Schülerstichprobe kann ein mittlerer Fehler berechnet werden. Ebenso können 20 Standardabweichungen des Fehlers oder Standardfehler für die Beobachtungen berechnet werden. Weitere 20 Root-Mean-Square-FehlerWerte können ebenfalls berechnet werden. Die drei Sätze von 20 Werten werden in der Reihenfolge ihres Auftretens als sqrt (me ^ 2 + se ^ 2) = rmse in Beziehung gesetzt. Anhand von rmse kann der Lehrer beurteilen, von wem der Schüler die beste Schätzung für die Tischbreite erhalten hat. Durch eine getrennte Betrachtung der 20 mittleren Fehler und 20 Standardfehlerwerte kann der Lehrer jeden Schüler anweisen, wie er seine Messwerte verbessern kann.

Zur Überprüfung subtrahierte der Lehrer jeden Fehler von seinem jeweiligen mittleren Fehler, was zu weiteren 200 Zahlen führte, die wir als Restfehler bezeichnen (was nicht oft gemacht wird). Wie oben ist der mittlere Restfehler Null, daher ist die Standardabweichung der Restfehler oder der Standardrestfehler dieselbe wie der Standardfehler , und tatsächlich ist dies auch der quadratische Mittelwert-Restfehler . (Siehe unten für Details.)

Jetzt ist hier etwas von Interesse für den Lehrer. Wir können den Mittelwert jedes Schülers mit dem Rest der Klasse vergleichen (20 Mittelwerte insgesamt). Genau wie wir vor diesen Punktwerten definiert haben:

  • m: Mittelwert (der Beobachtungen),
  • s: Standardabweichung (der Beobachtungen)
  • ich: mittlerer Fehler (der Beobachtungen)
  • se: Standardfehler (der Beobachtungen)
  • rmse: Root-Mean-Square-Fehler (der Beobachtungen)

wir können jetzt auch definieren:

  • mm: Mittelwert der Mittelwerte
  • sm: Standardabweichung des Mittelwerts
  • mem: Mittelwertfehler des Mittelwerts
  • sem: Standardfehler des Mittelwerts
  • rmsem: Root-Mean-Square-Fehler des Mittelwerts

Nur wenn die Klasse der Schüler als unvoreingenommen gilt, dh wenn mem = 0, dann ist sem = sm = rmsem; dh der Standardfehler des Mittelwerts, die Standardabweichung des Mittelwerts und der quadratische Mittelwertfehler können gleich sein, vorausgesetzt, der Mittelwertfehler des Mittelwerts ist Null.

Wenn wir nur eine Stichprobe genommen hätten, dh wenn nur ein Schüler in der Klasse wäre, könnte die Standardabweichung der Beobachtungen verwendet werden, um die Standardabweichung des Mittelwerts (sm) als sm ^ 2 ~ s ^ zu schätzen 2 / n, wobei n = 10 die Stichprobengröße ist (die Anzahl der Lesungen pro Schüler). Die beiden stimmen besser überein, wenn die Stichprobengröße (n = 10,11, ...; mehr Messwerte pro Schüler) und die Anzahl der Stichproben (n '= 20,21, ...; mehr Schüler in der Klasse) zunimmt. (Eine Einschränkung: Ein nicht qualifizierter "Standardfehler" bezieht sich häufiger auf den Standardfehler des Mittelwerts und nicht auf den Standardfehler der Beobachtungen.)

Hier einige Details zu den Berechnungen. Der wahre Wert wird mit t bezeichnet.

Set-to-Point-Operationen:

  • Mittelwert: MEAN (X)
  • quadratischer Mittelwert: RMS (X)
  • Standardabweichung: SD (X) = RMS (X-MEAN (X))

INTRA-SAMPLE SETS:

  • Beobachtungen (gegeben), X = {x_i}, i = 1, 2, ..., n = 10.
  • Abweichungen: Differenz einer Menge in Bezug auf einen festen Punkt.
  • Residuen: Abweichung der Beobachtungen von ihrem Mittelwert, R = Xm.
  • Fehler: Abweichung der Beobachtungen vom wahren Wert, E = Xt.
  • Restfehler: Abweichung der Fehler vom Mittelwert, RE = E-MEAN (E)

INTRA-SAMPLE-PUNKTE (siehe Tabelle 1):

  • m: Mittelwert (der Beobachtungen),
  • s: Standardabweichung (der Beobachtungen)
  • ich: mittlerer Fehler (der Beobachtungen)
  • se: Standardfehler der Beobachtungen
  • rmse: Root-Mean-Square-Fehler (der Beobachtungen)

Tabelle 1

INTER-SAMPLE (ENSEMBLE) SETS:

  • bedeutet, M = {m_j}, j = 1, 2, ..., n '= 20.
  • Residuen des Mittelwerts: Abweichung des Mittelwerts vom Mittelwert, RM = M-mm.
  • Fehler des Mittelwertes: Abweichung des Mittelwertes von der "Wahrheit", EM = Mt.
  • Restfehler des Mittelwerts: Abweichung des Mittelwerts vom Mittelwert, REM = EM-MEAN (EM)

INTER-SAMPLE (ENSEMBLE) -PUNKTE (siehe Tabelle 2):

  • mm: Mittelwert der Mittelwerte
  • sm: Standardabweichung des Mittelwerts
  • mem: Mittelwertfehler des Mittelwerts
  • sem: Standardfehler (vom Mittelwert)
  • rmsem: Root-Mean-Square-Fehler des Mittelwerts

Tabelle 2

Felipe G. Nievinski
quelle
0

Ich finde auch alle Begriffe sehr verwirrend. Ich bin der festen Überzeugung, dass es notwendig ist, zu erklären, warum wir über diese vielen Metriken verfügen.

Hier ist mein Hinweis zu SSE und RMSE:

Erste Metrik: Summe der Fehlerquadrate (SSE). Andere Namen, Restquadratsumme (RSS), Restquadratsumme (SSR).

Wenn wir in der Optimierungscommunity sind, wird SSE häufig verwendet. Es ist, weil es das Ziel bei der Optimierung ist, wo die Optimierung ist

minimierenβ Xβ-y2

e=Xβ-ye2=eTe

Zweite Metrik: Root-Mean-Square-Fehler (RMSE) . Andere Namen, Abweichung vom Mittelwert der Quadrate.

RMSE ist

1N(Xβ-y)=1NeTe

N

y

Haitao Du
quelle