Frage:
Was sind gute RMSE-Werte?
Shishir Pandey
2013-04-17 02:03:02 UTC
view on stackexchange narkive permalink

Angenommen, ich habe einen Datensatz. Ich führe eine Regression durch. Ich habe einen separaten Testdatensatz. Ich teste die Regression an diesem Set. Finden Sie den RMSE in den Testdaten. Wie soll ich zu dem Schluss kommen, dass mein Lernalgorithmus gut funktioniert hat? Ich meine, welche Eigenschaften der Daten ich betrachten sollte, um zu dem Schluss zu kommen, dass der RMSE, den ich habe, gut für die Daten ist?

Ich habe diese Frage vor 6 Jahren gestellt, daher sollte die neue Frage (vor 2 Monaten gestellt) als doppelt markiert werden.
Fünf antworten:
R.Astur
2013-04-17 07:01:43 UTC
view on stackexchange narkive permalink

Ich denke, Sie haben dort zwei verschiedene Arten von Fragen. Eine Sache ist, was Sie im Titel fragen: "Was sind gute RMSE-Werte?" und eine andere Sache ist, wie man Modelle mit verschiedenen Datensätzen unter Verwendung von RMSE vergleicht.

Für die erste, dh die Frage im Titel, ist es wichtig, sich daran zu erinnern, dass RMSE dieselbe Einheit wie die abhängige Variable (DV) hat ). Dies bedeutet, dass es keinen absolut guten oder schlechten Schwellenwert gibt. Sie können ihn jedoch basierend auf Ihrem DV definieren. Für ein Datum im Bereich von 0 bis 1000 ist ein RMSE von 0,7 klein, aber wenn der Bereich von 0 bis 1 reicht, ist er nicht mehr so ​​klein. Obwohl je kleiner der RMSE, desto besser, können Sie theoretische Aussagen zu den RMSE-Werten machen, indem Sie wissen, was von Ihrem DV in Ihrem Forschungsbereich erwartet wird. Denken Sie daran, dass Sie den RMSE immer normalisieren können.

Bei der zweiten Frage, dh zum Vergleichen zweier Modelle mit unterschiedlichen Datensätzen mithilfe von RMSE, können Sie dies tun, vorausgesetzt, der DV ist in beiden Modellen gleich. Je kleiner desto besser, aber denken Sie daran, dass kleine Unterschiede zwischen diesen RMSE möglicherweise nicht relevant oder sogar signifikant sind.

Was meinst du damit, dass du RMSE immer normalisieren kannst? Ich verstehe Ihren Standpunkt zu DV-Reichweite und RMSE. Aber können wir die Standardabweichung und den Mittelwert von DV in irgendeiner Weise quantifizieren?
Das Normalisieren des RMSE (des NRMSE) kann nützlich sein, um RMSE skalierungsfrei zu machen. Zum Beispiel durch Transformieren in Prozent: RMSE / (max (DV) -min (DV))
Diese Normalisierung erzeugt nicht wirklich einen Prozentsatz (z. B. 1 bedeutet nichts Besonderes), und sie ist nicht mehr oder weniger gültig als jede andere Form der Normalisierung.Dies hängt von der Verteilung dieser Daten ab.Für mich wäre es sinnvoller, den Mittelwert durch den RMSE zu normalisieren, da dies so wäre, als würde man sagen: "Welche Verbesserung bekomme ich gegenüber dem dümmsten Modell, an das ich denken kann?"
DV bedeutet dasselbe wie Y?
@HammanSamuel DV bedeutet abhängige Variable, die noch besser als Antwortvariable bezeichnet werden könnte.Eine abhängige Variable kann einen beliebigen Namen oder eine beliebige Notation haben.Wenn Sie Ihre abhängige Variable "Y" aufrufen, bedeutet DV dasselbe wie "Y".Wenn Sie Ihre abhängige Variable "FluffyCats" aufrufen, bedeutet DV nicht dasselbe wie "Y".
Eric Peterson
2013-04-17 04:38:22 UTC
view on stackexchange narkive permalink

Der RMSE für Ihr Training und Ihre Testsätze sollte sehr ähnlich sein, wenn Sie ein gutes Modell erstellt haben. Wenn der RMSE für den Testsatz viel höher ist als der des Trainingssatzes, ist es wahrscheinlich, dass Sie die Daten schlecht angepasst haben, dh Sie haben ein Modell erstellt, das in Stichproben gut testet, aber beim Testen nur einen geringen Vorhersagewert hat aus der Probe.

Es ist möglich, dass die RMSE-Werte sowohl für das Training als auch für das Testen ähnlich, aber (in gewissem Sinne) schlecht sind. Wie kann man anhand der Dateneigenschaften herausfinden, ob die RMSE-Werte wirklich implizieren, dass unser Algorithmus etwas gelernt hat?
Sicher, sie können ähnlich sein, aber beide schlecht. Sie versuchen immer, den Fehler beim Erstellen eines Modells zu minimieren. Nur weil Sie nicht überpasst haben, heißt das nicht, dass Sie ein gutes Modell erstellt haben, sondern nur, dass Sie eines erstellt haben, das konsistent mit neuen Daten arbeitet. Versuchen Sie es mit einer anderen Kombination von Prädiktoren oder verschiedenen Interaktionstermen oder Quadraten. Wenn Ihr RMSE erheblich abfällt und gut aus der Stichprobe heraus getestet wird, war das alte Modell schlechter als das neue. Es ist sicherlich keine exakte Wissenschaft.
Wenn Sie wissen, dass Ihr Modell nicht über- oder unterpasst ist, aber nicht sicher sind, ob der RMSE Ihres Modells angemessen ist, welche Metrik verwenden Sie, um dies zu bestimmen?Vergleichen Sie den RMSE mit der Standardabweichung / Varianz der Zielvariablen?
FatihAkici
2017-02-19 13:18:55 UTC
view on stackexchange narkive permalink

Obwohl dies ein alter Thread ist, hoffe ich, dass meine Antwort jedem hilft, der nach einer Antwort auf dieselbe Frage sucht.

Wenn wir über Zeitreihenanalyse sprechen, meinen wir meistens die Untersuchung von ARIMA-Modellen (und ihren Varianten). Daher werde ich in meiner Antwort zunächst dasselbe annehmen.

Zunächst einmal gibt es, wie der frühere Kommentator R. Astur erklärt, keinen guten RMSE, da er skalierungsabhängig ist, d. h. von Ihrer abhängigen Variablen abhängt. Daher kann man eine universelle Zahl nicht als guten RMSE beanspruchen.

Selbst wenn Sie sich für skalierungsfreie Anpassungsmaße wie MAPE oder MASE entscheiden, können Sie dennoch keine Schwelle für eine gute Leistung beanspruchen. Dies ist nur ein falscher Ansatz. Sie können nicht sagen "Meine MAPE ist so und so, daher ist meine Passform / Prognose gut". Ich glaube, Sie sollten sich Ihrem Problem wie folgt nähern. Finden Sie zuerst ein paar "bestmögliche" Modelle, indem Sie eine Logik wie das Durchlaufen der arima () - Funktionsausgänge in R verwenden, und wählen Sie die besten n geschätzten Modelle basierend auf dem niedrigsten RMSE oder MAPE oder MASE aus. Da es sich um eine bestimmte Serie handelt und nicht versucht wird, einen universellen Anspruch geltend zu machen, können Sie eine dieser Maßnahmen auswählen. Natürlich müssen Sie die Restdiagnose durchführen und sicherstellen, dass Ihre besten Modelle White Noise-Residuen mit gut verhaltenen ACF-Plots erzeugen. Nachdem Sie einige gute Kandidaten gefunden haben, testen Sie die MAPE außerhalb der Stichprobe jedes Modells und wählen Sie die mit der besten MAPE außerhalb der Stichprobe aus.

Das resultierende Modell ist das beste Modell in dem Sinne, dass es:

  1. Bietet Ihnen eine gute In-Sample-Anpassung, verbunden mit geringen Fehlermaßen und WN-Residuen.
  2. Und vermeidet Überanpassung, indem Sie die beste Prognosegenauigkeit außerhalb der Stichprobe erzielen.
  3. ol>

    Ein entscheidender Punkt ist nun, dass es möglich ist, eine Zeitreihe mit einem ARIMA (oder seinen Varianten) zu schätzen, indem genügend Verzögerungen der abhängigen Variablen oder des Restterms berücksichtigt werden. Dieses angepasste "beste" Modell kann jedoch nur zu stark passen und Ihnen eine dramatisch niedrige Genauigkeit außerhalb der Stichprobe bieten, d. H. Meinen Aufzählungspunkt 1 erfüllen, aber nicht 2.

    In diesem Fall müssen Sie Folgendes tun:

    1. Fügen Sie eine exogene erklärende Variable hinzu und wählen Sie ARIMAX,
    2. Fügen Sie eine endogene erklärende Variable hinzu und wählen Sie VAR / VECM,
    3. Oder ändern Sie Ihren Ansatz vollständig in nichtlineare Modelle für maschinelles Lernen und passen Sie sie mithilfe eines Cross-Validation-Ansatzes an Ihre Zeitreihen an. Passen Sie beispielsweise ein neuronales Netzwerk oder eine zufällige Gesamtstruktur an Ihre Zeitreihe an. Wiederholen Sie den Leistungsvergleich innerhalb und außerhalb der Stichprobe. Dies ist ein Trendansatz für Zeitreihen, und die Artikel, die ich gesehen habe, begrüßen die Modelle des maschinellen Lernens für ihre überlegene Prognoseleistung (außerhalb der Stichprobe).
    4. ol>

      Hoffe das hilft.

KPavan Kumar
2017-07-04 23:57:40 UTC
view on stackexchange narkive permalink

Sie können keinen bestimmten Schwellenwert für RMSE festlegen.Wir müssen uns den Vergleich des RMSE sowohl von Test- als auch von Zugdatensätzen ansehen.Wenn Ihr Modell gut ist, ähnelt Ihr RMSE der Testdaten dem Trainieren des Datensatzes.Ansonsten sind die folgenden Bedingungen erfüllt.

RMSE des Tests> RMSE des Zuges => ÜBERMITTELUNG der Daten.
RMSE des Tests < RMSE des Zuges => UNTER ANPASSUNG der Daten.

GivenX
2019-06-03 15:56:57 UTC
view on stackexchange narkive permalink

Persönlich mag ich den RMSE / Standardabweichungsansatz. Der Bereich ist irreführend, es kann zu einer verzerrten Verteilung oder zu Ausreißern kommen, während die Standardabweichung dies berücksichtigt. Ebenso ist RMSE / Mittelwert völlig falsch - was ist, wenn Ihr Mittelwert Null ist? Dies hilft Ihnen jedoch nicht zu sagen, ob Sie ein gutes Modell haben oder nicht. Diese Herausforderung ähnelt der Arbeit mit binären Klassifikationen und der Frage "Ist mein Gini zu 80% gut?". Kommt darauf an. Vielleicht hätten Sie durch zusätzliches Tuning oder Feature-Engineering ein besseres Modell bauen können, das Ihnen einen Gini von 90% gibt (und immer noch anhand des Testmusters validiert). Dies hängt auch vom Anwendungsfall und der Branche ab. Wenn Sie einen Verhaltens-Kredit-Score entwickelt haben, ist ein Gini von 80% "ziemlich gut". Wenn Sie jedoch einen neuen Kredit-Score für Anwendungen entwickeln (der von Natur aus Zugriff auf weniger Daten hat), ist ein Gini von 60% ziemlich gut. Ich denke, wenn es darum geht, ob der RMSE / std dev "Score" Ihres Modells gut ist oder nicht, müssen Sie Ihre eigene Intuition entwickeln, indem Sie dies anwenden und aus vielen verschiedenen Anwendungsfällen lernen.

Willkommen im Lebenslauf.Meinen Sie explizit RMSE geteilt durch Standardabweichung?Wenn ja, wird durch Formatieren durch Einschließen von Dollarzeichen deutlich, dass z.$ RMSE / SD $.Der Grund, den ich frage, ist, dass $ RMSE / SD $ ein transformierter Korrelationskoeffizient ist, und es wäre nützlich, die Auswirkungen davon genauer zu erläutern.
Danke @ReneBt.Ja, ich beziehe mich auf $ RMSE / SD $.Dies ist also eine Variante des angepassten R-Quadrat-Koeffizienten.Huh.R-Quadrat ist auch eine großartige Möglichkeit, sich ein Bild von den Fähigkeiten eines Modells mit einem linearen Ziel zu machen (wobei 1 = perfekt, 0 = zufällig, ähnlich wie ein Gini-Koeffizient für Anwendungsfälle der binären Klassifizierung).Noch hat niemand dies als Ansatz erwähnt?


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...