Wie interpretieren Sie RMSLE (Root Mean Squared Logarithmic Error)?


29

Ich habe einen maschinellen Lernwettbewerb durchgeführt, bei dem RMSLE (Root Mean Squared Logarithmic Error) verwendet wird, um die Leistung zu bewerten und den Verkaufspreis einer Gerätekategorie vorherzusagen. Das Problem ist, dass ich nicht sicher bin, wie ich den Erfolg meines Endergebnisses interpretieren soll.

Wenn ich zum Beispiel einen Effektivwert von kann ich ihn dann auf die Exponentialkraft erhöhen und wie folgt interpretieren? (dh )?1.052ee1.052=2.863=RMSE

Könnte ich dann sagen, dass meine Prognosen im Durchschnitt von den tatsächlichen Preisen ? Oder gibt es eine bessere Möglichkeit, die Metrik zu interpretieren? Oder kann die Metrik überhaupt interpretiert werden, mit Ausnahme des Vergleichs mit den anderen RMSLEs anderer Modelle? ±$2.863


Mit meinem begrenzten Wissen geht es darum: 1. Heteroskedastizität zu entfernen 2. das Problem unterschiedlicher Dimensionen zu lösen

Antworten:


26

Ich habe RMSLE noch nicht gesehen, gehe aber davon aus, dass es .1Ni=1N(log(xi)log(yi))2

Wenn Sie also potenzieren, erhalten Sie keinen RMSE, sondern nur einen

e1Ni=1N(log(xi)log(yi))21Ni=1N(xiyi)2 .

Wenn wir das Protokoll beider Seiten nehmen, erhalten wir den RMSLE versus , was eindeutig nicht dasselbe ist.12log(1Ni=1N(xiyi)2)

Leider gibt es im Allgemeinen keine gute einfache Beziehung (obwohl jemand, der klüger ist als ich / schwerer darüber nachdenkt als ich, Jensens Ungleichung wahrscheinlich nutzen könnte, um eine Beziehung zwischen den beiden herauszufinden).

Es ist natürlich der RMSE der log-transformierten Variablen, was das wert ist. Wenn Sie einen groben Eindruck von der Streuung der Verteilung erhalten möchten, können Sie stattdessen einen groben Eindruck von der Streuung ihres Logarithmus erhalten, sodass ein Effektivwert von 1,052 bedeutet, dass der "Durchschnitt" mal so groß ist wie der wahre Wert oder 1 / 2.86. Natürlich ist das nicht ganz das, was RMSE bedeutet ...2.86


Hi @Dougal, danke! Dies hilft definitiv, die Dinge aufzuklären.
Opus

18

Ich weiß nicht, ob es eine einfache generische Interpretation gibt, die sogar einen bestimmten Fall analysiert.

Beispielsweise könnten Sie daran interessiert sein, den Fehler zu bewerten, wenn Sie alle Fälle mit dem Mittelwert vorhersagen und mit Ihrem Ansatz vergleichen.

Wie auch immer, ich glaube, RMSLE wird normalerweise verwendet, wenn Sie keine großen Unterschiede zwischen den vorhergesagten und den wahren Werten benachteiligen möchten, wenn sowohl die vorhergesagten als auch die wahren Werte große Zahlen sind. In diesen Fällen sind nur die prozentualen Unterschiede von Bedeutung, da Sie sie neu schreiben können

logPi+1logAi+1=logPi+1Ai+1 .

Zum Beispiel würde bei P = 1000 und A = 500 ungefähr der gleiche Fehler auftreten wie bei P = 100000 und A = 50000.


1

Mein Verständnis ist, dass wir, wenn wir Logarithmen sowohl für Vorhersage- als auch für Ist-Zahlen durchführen, viel glattere Ergebnisse erzielen als mit dem Original. Reduzieren Sie die Auswirkung eines größeren x, während Sie ein kleineres x für hervorheben .logx+1

Einen intuitiven Eindruck erhalten Sie auch, wenn Sie ein einfaches Diagramm von zeichnen .y=logx+1


1

Es gibt eine indirekte Methode, um die Leistung einer Verlustfunktion anhand von Informationen zu messen, die leichter zu verstehen sind, obwohl sie die erhofften Werte nicht direkt umwandelt.

Nachdem das Modell mit RMSLE trainiert und getestet wurde, können Sie einfach eine neue Metrik verwenden. Nur weil das Modell auf RMSLE trainiert wurde, heißt das nicht, dass Sie keine anderen, verständlicheren Verlustfunktionen als Metriken verwenden können.

In Keras können Sie beispielsweise zusätzliche Verlustfunktionen in einer Metrikkategorie im Modellcompiler angeben. Im Folgenden wird der MSLE verwendet, um das Modell zu trainieren (entspricht dem RMSLE), aber der MAE und der MSE werden auch aufgezeichnet:

model.compile(loss='mean_squared_logarithmic_error', optimizer='adam', metrics=['mean_absolute_error','mean_squared_error'])
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.