40 votos

¿Cómo interpretas el RMSLE (Error Logarítmico Cuadrático Medio)?

He estado participando en una competencia de aprendizaje automático donde utilizan RMSLE (Error Logarítmico Cuadrático Medio) para evaluar el rendimiento en la predicción del precio de venta de una categoría de equipo. El problema es que no estoy seguro de cómo interpretar el éxito de mi resultado final.

Por ejemplo, si logré un RMSLE de $1.052$, ¿podría elevarlo a la potencia exponencial $e$ e interpretarlo como rmse? (es decir, $e^{1.052}=2.863=RMSE$)?

¿Podría entonces decir que mis predicciones estaban en promedio $\pm \$2.863$ de los precios reales? ¿O hay una mejor manera de interpretar la métrica? ¿O la métrica incluso se puede interpretar en absoluto a excepción de comparar con las otros RMSLE de otros modelos?

1 votos

Con mi conocimiento limitado, es: 1. eliminar la heteroscedasticidad 2. resolver el problema de las diferentes dimensiones

36voto

Bauna Puntos 176

No he visto RMSLE antes, pero supongo que es $\sqrt{ \frac{1}{N} \sum_{i=1}^N (\log(x_i) - \log(y_i))^2 }$.

Por lo tanto, exponenciarlo no te dará RMSE, te dará

$e^\sqrt{ \frac{1}{N} \sum_{i=1}^N (\log(x_i) - \log(y_i))^2 } \ne \sqrt{\frac{1}{N} \sum_{i=1}^N (x_i - y_i)^2}$.

Si tomamos el logaritmo de ambos lados, obtenemos el RMSLE frente a $\frac{1}{2} \log \left( \frac{1}{N} \sum_{i=1}^N (x_i - y_i)^2 \right)$, que claramente no es lo mismo.

Desafortunadamente, no hay una buena relación fácil en general (aunque alguien más inteligente que yo / pensando más profundamente al respecto probablemente podría usar la desigualdad de Jensen para descubrir alguna relación entre los dos).

Es, por supuesto, el RMSE de la variable transformada por logaritmo, por lo que eso vale. Si desea tener una idea aproximada de la dispersión de la distribución, en su lugar puede obtener una idea aproximada de la dispersión de sus logaritmos, de modo que un RMSLE de 1.052 significa que el "promedio" es $2.86$ veces más grande que el valor verdadero, o 1/2.86. Por supuesto, eso no es exactamente lo que significa RMSE....

0 votos

Hola @Dougal ¡Gracias! definitivamente esto ayuda a aclarar las cosas.

21voto

Félix Saparelli Puntos 863

No sé si hay una interpretación genérica directa incluso analizando un caso particular.

Por ejemplo, puede que te interese evaluar cuál sería el error si predices todos los casos con el valor medio y lo comparas con tu enfoque.

De todos modos, creo que RMSLE se usa normalmente cuando no quieres penalizar diferencias enormes en los valores predichos y verdaderos cuando ambos son números grandes. Solo importarían las diferencias porcentuales ya que puedes reescribir la ecuación del logaritmo natural:

$\log{(P_i + 1)} - \log{(A_i +1)} = \log{\frac{P_i + 1}{A_i +1}}$.

Por ejemplo, para Pi = 1,000 y Ai = 500 te daría aproximadamente el mismo error que cuando Pi = 100,000 y Ai = 50,000.

2 votos

Agregar 1 es una mala idea. RMSLE es útil para datos en una gama de escalas o órdenes de magnitud. Agregar 1 destruye esa propiedad. Tal vez podrías agregar eps en su lugar, donde eps está en el orden del valor de datos más pequeño.

1 votos

También faltan tus corchetes.

3voto

Priya Puntos 6

Existe una forma indirecta de medir el rendimiento de una función de pérdida en términos de algo más fácilmente comprensible, aunque no convertirá directamente los valores como esperabas.

Una vez que el modelo haya sido entrenado y probado utilizando RMSLE, simplemente tome una nueva métrica sobre él. Solo porque el modelo fue entrenado con RMSLE, no significa que no puedas luego tomar otras funciones de pérdida más comprensibles como métricas.

En Keras, por ejemplo, puedes especificar funciones de pérdida adicionales en una categoría de métricas en el compilador del modelo. En el siguiente ejemplo, se utiliza MSLE para entrenar el modelo (equivalente al RMSLE), pero también se registran el MAE y el MSE:

model.compile(loss='mean_squared_logarithmic_error', optimizer='adam', metrics=['mean_absolute_error','mean_squared_error'])

2voto

Hao Puntos 11

Mi entendimiento es que, al hacer logaritmos tanto en las predicciones como en los números reales, obtendremos resultados mucho más suaves que los originales. Y se reducirá el impacto de los valores mayores de x, al tiempo que se enfatiza los valores más pequeños para $\log{x+1}$.

También obtendrás una impresión intuitiva al dibujar un gráfico simple de $y=\log{x+1}$.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X