Sé que probablemente ya se ha hablado de esto en algún otro sitio, pero no he podido encontrar una respuesta explícita. Intento utilizar la fórmula $R^2 = 1 - SSR/SST$ para calcular fuera de muestra $R^2$ de un modelo de regresión lineal, donde $SSR$ es la suma de los residuos al cuadrado y $SST$ es la suma total de cuadrados. Para el conjunto de entrenamiento, está claro que
$$ SST = \Sigma (y - \bar{y}_{train})^2 $$
¿Y el conjunto de pruebas? ¿Debo seguir utilizando $\bar{y}_{train}$ para fuera de muestra $y$ o utilice $\bar{y}_{test}$ ¿en su lugar?
He descubierto que si utilizo $\bar{y}_{test}$ el resultado $R^2$ a veces puede ser negativo. Esto es coherente con la descripción de sklearn's r2_score()
donde utilizaban $\bar{y}_{test}$ (que también utiliza su modelo lineal score()
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 se han utilizado $\bar{y}_{train}$ como aquí y aquí (la segunda respuesta de dmi3kno). Así que me preguntaba qué tiene más sentido. Cualquier comentario será muy apreciado.