2 votos

Aplicación de los coeficientes de regresión de cresta desestandarizados a nuevos datos de prueba: ¿cómo manejar mejor la media de y_test?

Este es mi primer post en Stackexchange, así que por favor corregidme en lo que sea si lo estoy haciendo mal.

Acabo de encontrarme con esto pregunta Yo estaba luchando con el mismo problema, pero los mensajes allí aclararon mucho las cosas. Mi pregunta recoge un Slack de la discusión de esa pregunta.

En una respuesta a la último comentario preguntó el director de la empresa:

Bien. Los coeficientes obtenidos para los datos originales y los normalizados son muy diferentes. Ahora bien, si la normalización es un procedimiento recomendado, ¿cómo puedo normalizar unos nuevos datos de prueba para los que tengo que predecir y. ¿Tengo que utilizar la misma media y la misma desviación estándar de los datos de entrenamiento o deben calcularse a partir de los propios datos de prueba? Y si se utilizan los coeficientes de los datos normalizados, las predicciones están completamente fuera de escala. ¿Cómo se aborda esta cuestión?

Yo quería recoger esa carga. Conozco la respuesta correcta que se dio en respuesta a esta pregunta (desestandarizar los coeficientes estandarizados que se derivaron de los datos de entrenamiento estandarizados y aplicarlos a los nuevos datos de prueba entrantes para obtener predicciones).

Sin embargo, me preguntaba qué pensáis sobre cómo manejar y (es decir, el resultado, no los predictores X) de los datos de prueba en términos de su media. Más concretamente: después de haber ajustado mi regresión de Ridge a los datos de entrenamiento y haber desestandarizado los coeficientes resultantes, incluido el intercepto, podría aplicarlo a los datos de prueba.

Pero, incluso si mis betas de gradiente ajustadas (es decir, las betas sin intercepción) reflejan bien la tendencia en los datos de prueba, podría ser que la intercepción ('media') de y en los datos de prueba sea muy diferente a la media de y en los datos de entrenamiento (= la intercepción del modelo de cresta). Si juzgo el ajuste de mi modelo de cresta utilizando R^2, el ajuste sería malo, pero únicamente debido a las diferencias de intercepción.

Por lo tanto, me preguntaba si tiene sentido centrar y_test, ya sea con su propia media o con la media de y_train.

¿Alguien tiene alguna idea al respecto?

2voto

eldering Puntos 3814

Hay que considerar los datos de prueba como un sustituto de los datos "nuevos" que recibirá el modelo cuando se utilice para tomar decisiones en un entorno de producción.

podría ser que el intercepto ('media') de y en los datos de prueba sea muy diferente a la media de y en los datos de entrenamiento (= el intercepto del modelo de cresta). Si juzgo el ajuste de mi modelo de cresta utilizando R^2, el ajuste sería malo, pero únicamente debido a las diferencias de intercepción.

Sí, y no hay nada que puedas o debas hacer al respecto. A menos que tengas un proceso activo para actualizar la intercepción de tu modelo en producción (este es el caso de algunas aplicaciones actuariales, por ejemplo), esta es simplemente la realidad de tu situación. Si la media general de los datos de prueba se aleja de la media de entrenamiento, se trata de un efecto real con el que el modelo tendrá que lidiar al tomar decisiones en la vida real, y hay que evaluar de forma justa la capacidad de adaptación del modelo a esa realidad.

$R^2$ no pretende ser una medida de rendimiento predictivo precisamente por esta razón. Cálculo $R^2$ en un conjunto de datos de prueba requiere calcular la media del objetivo en el conjunto de datos de prueba, y esto debería considerarse problemático(*). De hecho, en muchos entornos de producción, los modelos ven una observación a la vez (es decir, no se califican en "modo de lote"), por lo que realmente no se tiene nada para tomar la media.

(*) Soy consciente de que esto es lo que viene por defecto en sklearn. Esto es un error de diseño en la biblioteca, el valor por defecto debe ser MSE.

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