23 votos

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

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.

13voto

leech Puntos 122

En primer lugar hay que decir que para la evaluación de predicciones, entonces fuera de muestra los habituales $R^2$ no es adecuada. Esto se debe a que la $R^2$ se calcula sobre residuos que son en muestra cantidades.

Podemos definirlo: $R^2 = 1 – RSS/TSS$

RSS = suma cuadrática residual

TSS = suma total de cuadrados

El principal problema es que los residuos no son un buen indicador de los errores de previsión porque en los residuos se utilizarían los mismos datos para la estimación del modelo y la precisión de la predicción del modelo. Si se utilizaran los residuos (RSS), la precisión de la predicción sería exagerada y probablemente se produciría un ajuste excesivo. Ni siquiera el SST es adecuado, como veremos más adelante. Sin embargo, hay que decir que en el pasado el uso erróneo de la norma $R^2$ para la evaluación de las previsiones era bastante habitual.

Fuera de muestra $R^2$ ( $R_{oos}^2$ ) mantienen la idea de lo habitual $R^2$ pero en lugar de RSS se utiliza el MSE fuera de muestra del modelo analizado (MSE_m). En lugar de TSS se utiliza el MSE fuera de muestra de un modelo de referencia (MSE_bmk).

$R_{oos}^2 = 1 – MSE_m/MSE_{bmk}$

Una diferencia notable entre $R^2$ y $R_{oos}^2$ es que

$0 \leq R^2 \leq 1$ (si se incluye el término constante)

mientras que $-\infty \leq R_{oos}^2 \leq 1$

Si $R_{oos}^2 < = > 0$ el modelo competidor funciona peor/igual/mejor que el de referencia. Si $R_{oos}^2 =1$ el modelo competidor predice perfectamente los (nuevos) datos.

Aquí tenemos que tener en cuenta que incluso para el modelo de referencia tenemos que considerar el rendimiento fuera de la muestra. Por lo tanto, la varianza de los datos fuera de muestra subestima $MSE_{bmk}$ .

En este sentido, algo como $$ MSE_{bmk} = (1/n)\Sigma (y - \bar{y}_{test})^2 $$ me parece una elección equivocada. Mientras que algo como $$ MSE_{bmk} = (1/n)\Sigma (y - \bar{y}_{train})^2 $$ me parece plausible.

Que yo sepa, esta medida se propuso por primera vez en: Predicción del exceso de rentabilidad de las acciones fuera de la muestra: ¿Puede algo superar la media histórica? - Campbell y Thompson (2008) - Revista de Estudios Financieros . En ella, la previsión bmk se basa en la información media predominante en el momento de la previsión.

7voto

Govula Srinivas Puntos 73

Tienes razón.

La OSR $^2$ Los residuos se basan en datos de prueba, pero los datos de referencia deben seguir siendo datos de formación. Dicho esto, tu TSM es $SST=Σ(y−\bar y_{train})^2$ ; observe que el es el mismo para $R^2$

4voto

Knarpie Puntos 143

Acabamos de publicar un artículo sobre este tema en The American Statistician aquí

De forma similar a @markowitz, definimos fuera de muestra $R^2$ como una comparación de dos modelos fuera de muestra: el modelo nulo que utiliza únicamente el resultado medio de los datos de entrenamiento $\bar{y}_{train}$ y el modelo más elaborado que utiliza información sobre covariables.

Para la pérdida de error al cuadrado del modelo nulo (que denominamos MST), obtenemos una expresión analítica que muestra que

$$ MST = \operatorname{Var}(\bar{Y}_{train}) + \operatorname{Var}(Y) = \frac{n+1}{n}\operatorname{Var}(Y), $$

lo que significa que el error de predicción es una suma del error de estimación en $\bar{y}_{train}$ y error irreducible. Se trata de una expresión útil en ausencia de un conjunto de pruebas. Pero si se dispone de un conjunto de pruebas independiente, yo preferiría la expresión $n^{-1}\sum_{i \in \text{test}}(y_i-\bar{y}_{train})$ como se sugiere más arriba. En principio, ambos estimadores tienen el mismo estimando, pero el segundo es más robusto a las diferencias entre los conjuntos de entrenamiento y prueba. Por último, demostramos mediante simulación que la expresión $n^{-1}\sum_{i \in \text{test}}(y_i-\bar{y}_{test})$ puede estar muy sesgada para estimar el verdadero $R^2$ .

La pérdida de error al cuadrado del modelo elaborado (el MSE) debe estimarse entonces mediante validación cruzada o en su conjunto de prueba. Correspondiente fuera de muestra $R^2$ es entonces simplemente

$$\hat{R}^2 = 1-\frac{\widehat{MSE}}{\widehat{MST}}$$

Proporcionamos un error estándar para esta estimación, desbloqueando las pruebas de hipótesis y los intervalos de confianza.

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