¿Cómo calcular fuera de la muestra R al cuadrado?

10

Sé que esto probablemente se haya discutido en otro lugar, pero no he podido encontrar una respuesta explícita. Estoy tratando de usar la fórmula R2=1-SSR/ /SST para calcular fuera de muestra R2de un modelo de regresión lineal, donde SSR es la suma de los residuos cuadrados y SST es el suma total de cuadrados. Para el conjunto de entrenamiento, está claro que

SST=Σ(y-y¯trunayonorte)2

¿Qué pasa con el conjunto de prueba? ¿Debo seguir usando y¯trunayonorte fuera de la muestra y , o usar y¯tmist lugar?

He descubierto que si uso y¯tmist , la resultante R2 puede ser negativo a veces. Esto es consistente con la descripción de la r2_score()función de sklearn , donde usaron y¯tmist (que también es utilizada por la score()función de su linear_model para probar muestras). Afirman que "un modelo constante que siempre predice el valor esperado de y, sin tener en cuenta las características de entrada, obtendría una puntuación R ^ 2 de 0.0".

Sin embargo, en otros lugares la gente ha usado y¯trunayonorte como aquí y aquí (la segunda respuesta de dmi3kno). ¿Entonces me preguntaba cuál tiene más sentido? Cualquier comentario será muy apreciado!

conductor loco
fuente

Respuestas:

3

Estás en lo correcto.

Los residuos de OSR 2 se basan en datos de pruebas, pero la línea de base aún debe ser datos de capacitación. Dicho esto, su SST es ; observe que es igual para2SST=Σ(y-y¯trunayonorte)2R2

usuario152317
fuente
3
Aunque he corregido algunos errores obvios y aparentes de ediciones anteriores, algunas de las anotaciones y algunos de los significados previstos aún no están claros.
Nick Cox
¡Gracias por la respuesta! ¿Tienes alguna referencia sobre esto? Parece que los softwares estadísticos usan comúnmente la definición alternativa, con y_test?
Matifou