Comment interprétez-vous RMSLE (Root Mean Squared Logarithmic Error)?


29

J'ai fait un concours d'apprentissage automatique où ils utilisent RMSLE (Root Mean Squared Logarithmic Error) pour évaluer les performances prédisant le prix de vente d'une catégorie d'équipement. Le problème est que je ne sais pas comment interpréter le succès de mon résultat final.

Par exemple, si j'ai atteint un RMSLE de pourrais-je augmenter la puissance exponentielle et l'interpréter comme rmse? (c.-à-d. )?1.052ee1.052=2.863=RMSE

Puis-je alors dire que mes prévisions étaient en moyenne par rapport aux prix réels? Ou existe-t-il une meilleure façon d'interpréter la métrique? Ou la métrique peut-elle même être interprétée du tout à l'exception de la comparaison avec les autres RMSLE d'autres modèles? ±$2.863


Avec mes connaissances limitées, il s'agit de: 1. supprimer l'hétéroscédasticité 2. résoudre le problème des différentes dimensions

Réponses:


26

Je n'ai jamais vu RMSLE auparavant, mais je suppose que c'est .1Ni=1N(log(xi)log(yi))2

Ainsi, l'exponentier ne vous donnera pas de RMSE, cela vous donnera

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

Si nous prenons le log des deux côtés, nous obtenons le RMSLE contre , ce qui n'est clairement pas la même chose.12log(1Ni=1N(xiyi)2)

Malheureusement, il n'y a pas une bonne relation facile en général (bien que quelqu'un plus intelligent que moi / y réfléchissant plus fort que moi puisse probablement utiliser l'inégalité de Jensen pour comprendre une relation entre les deux).

C'est, bien sûr, le RMSE de la variable log-transformée, pour ce que ça vaut. Si vous voulez avoir une idée approximative de la répartition de la distribution, vous pouvez plutôt obtenir une idée approximative de la répartition de leur logarithme, de sorte qu'un RMSLE de 1,052 signifie que la "moyenne" est fois plus grande que la valeur réelle, ou 1 / 2,86. Bien sûr, ce n'est pas tout à fait ce que signifie RMSE ...2.86


Salut @Dougal merci! cela aide certainement à clarifier les choses.
Opus

18

Je ne sais pas s'il existe une interprétation générique simple, même en analysant un cas particulier.

Par exemple, vous pourriez être intéressé à évaluer quelle serait l'erreur si vous prédisez tous les cas avec la valeur moyenne et la comparez à votre approche.

Quoi qu'il en soit, je crois que RMSLE est généralement utilisé lorsque vous ne voulez pas pénaliser d'énormes différences entre les valeurs prédites et vraies lorsque les valeurs prédites et vraies sont des nombres énormes. Dans ces cas, seules les différences en pourcentage importent, car vous pouvez réécrire

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

Par exemple, pour P = 1000 et A = 500, vous obtiendrez à peu près la même erreur que lorsque P = 100000 et A = 50000.


1

Ma compréhension est que, lorsque nous faisons un logarithme à la fois sur la prédiction et sur les nombres réels, nous obtenons des résultats beaucoup plus fluides que ceux d'origine. Et réduisez l'impact d'un x plus grand, tout en mettant l'accent sur un x plus petit pour .logx+1

Vous aurez également une impression intuitive en dessinant un graphique simple de .y=logx+1


1

Il existe un moyen indirect de mesurer les performances d'une fonction de perte en termes de quelque chose de plus facilement compréhensible, bien qu'il ne convertisse pas directement les valeurs comme vous l'auriez espéré.

Une fois que le modèle a été formé et testé à l'aide de RMSLE, prenez simplement une nouvelle métrique dessus. Ce n'est pas parce que le modèle a été formé sur RMSLE que vous ne pouvez pas prendre d'autres fonctions de perte plus compréhensibles comme métriques.

Dans Keras, par exemple, vous pouvez spécifier des fonctions de perte supplémentaires dans une catégorie de métriques dans le compilateur de modèle. En dessous, le MSLE est utilisé pour former le modèle (équivalent au RMSLE), mais le MAE et le MSE sont également enregistrés:

model.compile(loss='mean_squared_logarithmic_error', optimizer='adam', metrics=['mean_absolute_error','mean_squared_error'])
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.