MSE como proxy de la correlación de Pearson en problemas de regresión

8

TL; DR (demasiado largo, no leído):

Estoy trabajando en un problema de predicción de series temporales, que formulo como un problema de regresión usando Deep Learning (keras). Quiero optimizar la correlación de Pearson entre mi predicción y las etiquetas verdaderas. Estoy confundido por el hecho de que usar MSE como proxy en realidad conduce a mejores resultados (en términos de correlación) que usar Pearson como una función de pérdida directamente. ¿Se considera una mala práctica utilizar métricas de correlación como funciones de pérdida para el aprendizaje profundo? Si es así, ¿por qué?

Versión más larga:

Tengo una tarea de predicción de series temporales: observo valores para T pasos de tiempo consecutivos y necesitan predecir el valor en el paso de tiempo T+1. Como los valores suelen estar en[200,200], Estoy tratando esto como un problema de regresión, que estoy resolviendo usando Deep Learning (keras).

Mi pregunta es sobre la elección de pérdida y métrica.

Mis datos tienen etiquetas verdaderas principalmente [10,10]con algunos valores extremos Muchos de los valores extremos son erróneos y no quiero cambiar mi aprendizaje para centrarme en hacerlos bien. En otras palabras, quiero poder captar la tendencia general (clasificar correctamente el período de valores positivos versus negativos), y puedo "vivir" con la predicción de 100 en lugar de 200, por ejemplo.

Por esta razón, creo que mi métrica de evaluación debería ser la correlación de Pearson entre los valores predichos y verdaderos.

Ahora, para la función de pérdida: idealmente, si quiero optimizar para una alta correlación de Pearson, tendría sentido usar eso como la función de pérdida, ¿verdad? He probado una arquitectura simple que es mi "modelo de referencia" dos veces: una vez con el uso de Pearson (como se calcula en un mini lote) directamente como mi función de pérdida, y una vez con el uso del MSE común como proxy. En ambos casos, realizo un seguimiento de MSE y Pearson para diferentes épocas y hago "paradas tempranas" en función de un conjunto de validación.

Mis resultados:

  • MSE como pérdida: MSE 160, Pearson 0.7
  • Pearson como pérdida: MSE 250, Pearson 0.6

Entiendo que el MSE más alto para la pérdida de Pearson es el resultado del hecho de que la optimización para la correlación no tiene escala, por lo que toda la predicción puede estar "desactivada" por un factor que aumente el MSE. Pero, ¿cómo es que el uso de MSE como proxy realmente funciona mejor en términos de la correlación de Pearson? ¿Hay alguna razón relacionada con la optimización de por qué la correlación de Pearson no debe usarse como una función de pérdida? De hecho, veo que en la práctica apenas se usa, pero me gustaría entender la razón detrás de esto.

galoosh33
fuente

Respuestas:

5

Esta es una buena pregunta y desafortunadamente sin respuesta durante mucho tiempo, parece que hubo una respuesta parcial dada solo un par de meses después de que hiciste esta pregunta aquí, que básicamente solo argumenta que la correlación es útil cuando los resultados son muy ruidosos y quizás MSE de lo contrario . Creo que antes que nada debemos mirar las fórmulas para ambos.

MSE(y,y^)=1ni=1n(yiyi^)2
R(y,y^)=i=1n(yiy¯)(yi^y¯^)i=1n(yiy¯)2i=1n(yi^y¯^)2

Algunas cosas a tener en cuenta, en el caso de regresión lineal, sabemos que y¯^=y¯debido a la imparcialidad del regresor, por lo que el modelo se simplificará un poco, pero en general no podemos hacer esta suposición sobre los algoritmos de ML. Quizás, en términos más generales, es interesante pensar en el diagrama de dispersión enR2 de {yi,yi^}la correlación nos dice qué tan fuerte es la relación lineal entre los dos en este gráfico, y MSE nos dice qué tan lejos están el uno del otro. Mirando los ejemplos de contador en la página de Wikipedia , puede ver que hay muchas relaciones entre los dos que no se representarán.

Creo que, en general, la correlación dice cosas similares a R2pero con direccionalidad, entonces la correlación es algo más descriptiva en ese caso. En otra interpretación,R2 no se basa en el supuesto de linealidad y simplemente nos dice el porcentaje de variación en yEso lo explica nuestro modelo. En otras palabras, compara la predicción del modelo con la predicción ingenua de adivinar la media para cada punto. La formula paraR2 es:

R2(y,y^)=1i=1n(yiy^)2i=1n(yiy¯)2


Entonces, ¿cómo R comparar con R2? Pues resulta queR es más inmune a la ampliación de una de las entradas, esto tiene que ver con el hecho de que R2 es homogéneo de grado 0 solo en ambas entradas, donde Res homogéneo de grado 0 en cualquier entrada. Está un poco menos claro lo que esto podría implicar en términos de aprendizaje automático, pero podría significar que la clase de modelo dey^puede ser un poco más flexible bajo correlación. Dicho esto, bajo algunos supuestos adicionales, sin embargo, las dos medidas son iguales, y puede leer más al respecto aquí .

JoeTheShmoe
fuente