Exceso de optimismo

La diferencia entre el error de test y el de entrenamiento

Regresión
Fecha de publicación

15 de noviembre de 2022

Introducción

El objetivo de un modelo estadístico no es solo que se ajuste bien a los datos que ya tenemos sino sobre todo que sea capaz de predecir nuevas observaciones futuras. El grado de ajuste a los datos que ya tenemos está relacionado con el error de entrenamiento mientras que la capacidad predictiva en nuevas observaciones está relacionada con el error de test. Algunos autores llaman exceso de optimismo a la diferencia entre los dos tipos de error, ya que si un modelo se ajusta muy bien a nuestros datos podemos ser excesivamente optimistas en cuanto a su capacidad para predecir nuevas observaciones (a la que puede perjudicar el sobreajuste). Aquí se comenta una fórmula muy sencilla y general que relaciona ambos tipos de error.

Error de entrenamiento y error de test

En la figura 1 se han representado unos datos de entrenamiento (en azul) que siguen un cierto modelo (que viene dado por la media en negro más un error aleatorio alrededor de ella). Con estos datos se ajusta un modelo (en este caso, la recta de mínimos cuadrados en azul). Las diferencias entre la recta y los puntos azules corresponden al error de entrenamiento.

Se dispone ahora de otro conjunto de datos de test independiente de los anteriores pero que sigue el mismo modelo (en rojo). La diferencia entre la recta azul y los puntos rojos corresponde al error de test, que es el que realmente interesa minimizar. La fórmula que vamos a ver da la expresión de la diferencia entre ambos tipos de errores. No depende de cuál sea el modelo verdadero ni tampoco el ajustado, ninguno de ellos tiene por qué ser lineal ni tampoco tienen por qué ser iguales.

Figura 1: Modelo verdadero (en negro), datos de entrenamiento y modelo ajustado (en azul) y datos de test (en rojo).

Vamos a formalizar un poco el problema. Nuestro objetivo es predecir una variable aleatoria respuesta y para ello disponemos de unos datos de entrenamiento \((Y_1,x_1),\ldots,(Y_n,x_n)\). Las variables \(Y_1,\dots,Y_n\) corresponden a la variable respuesta mientras que los valores \(x_1,\ldots,x_n\) representan información adicional disponible para nuestro objetivo y para simplificar los consideramos fijos (no aleatorios). Con la muestra de entrenamiento producimos unos valores ajustados \(\hat Y_1,\ldots,\hat Y_n\) mediante cualquier método de nuestra elección, por ejemplo, ajustando un modelo de regresión y evaluándolo en \(x_1,\ldots,x_n\).

La diferencia esperada al cuadrado entre los valores ajustados y los reales da lugar al error de entrenamiento. Para la observación \(i\), definimos \[\mbox{Training}(i) = \mbox{E}[(Y_i - \hat{Y}_i)^2]\] La esperanza involucra únicamente la aleatoriedad de \(Y_1,\ldots,Y_n\) ya que como hemos dicho consideramos el resto de información como fija. Podemos pensar también en una esperanza condicionada a los valores \(x_1,\ldots,x_n\) que han intervenido en el cálculo de los valores ajustados. El error de entrenamiento se obtiene promediando los errores de todas las observaciones: \[\mbox{Training} =\frac{1}{n}\sum_{i=1}^n\mbox{Training}(i).\]

Dado que \(\hat Y\) se calcula usando \(Y\) el error de entrenamiento infraestima el error que se produce al predecir la respuesta para una observación independiente de la muestra de entrenamiento. Por ello, lo que realmente tiene interés es el error de test, que se define a continuación: sea \(\tilde Y = (\tilde{Y}_1,\ldots,\tilde{Y}_n)'\) una copia independiente de \(Y\). Para la observación \(i\) definimos \[\mbox{Test}(i) = \mbox{E}[(\tilde{Y}_i - \hat{Y}_i)^2],\] es decir, el error cuando aproximamos el valor de \(\tilde{Y}_i\) con el valor ajustado \(\hat Y_i\) calculado con una muestra de entrenamiento independiente de \(\tilde{Y}_i\). El error de test es \[\mbox{Test} =\frac{1}{n}\sum_{i=1}^n\mbox{Test}(i).\]

Algunos autores llaman exceso de optimismo a la diferencia entre el error de test y el de entrenamiento de manera que \[\mbox{Test} = \mbox{Training} + \mbox{Exceso de optimismo}.\] El objetivo de esta nota es dar una expresión del exceso de optimismo, de manera que se pueda cuantificar hasta qué punto el error de entrenamiento infraestima el error de test.

Un lema simple pero potente

La respuesta la da un lema que puede encontrarse en la página 219 del libro de B. Efron y T. Hastie, Computer Age Statistical Inference. Los autores se refieren con razón a este resultado como simple pero potente:

Lema 1 Se verifica \[\mbox{Test} = \mbox{Training} + \frac{2}{n}\sum_{i=1}^n \mbox{Cov}(Y_i,\hat{Y}_i).\]

Una covarianza alta entre las respuestas y los valores ajustados es un indicador de sobreajuste, lo que lleva a que el error con los datos de entrenamiento pueda infraestimar seriamente el error de predicción.

Sobre la distribución del vector \(Y\) respecto a la cual se calcula el valor esperado solo suponemos que existen tanto su vector de medias \((\mu_1,\ldots,\mu_n)'\) como su matriz de covarianzas \(\Sigma\). La demostración del lema es muy sencilla:

Prueba. Restando y sumando \(\mu_i\), vemos que el error de entrenamiento para la observación \(i\) verifica

\[\begin{aligned} \mbox{E}[(Y_i - \hat{Y}_i)^2] &= \mbox{E}[((Y_i - \mu_i) + (\mu_i -\hat{Y}_i))^2] \\ &= \mbox{Var}(Y_i)+ \mbox{E}[(\mu_i -\hat{Y}_i)^2] + 2\mbox{E}[(Y_i -\mu_i)(\mu_i -\hat{Y}_i)] \end{aligned}\]

Por otra parte, el error de test en \(i\) verifica \[\mbox{E}[(\tilde{Y}_i - \hat{Y}_i)^2]=\mbox{E}[((\tilde{Y}_i - \mu_i) + (\mu_i -\hat{Y}_i))^2]=\mbox{Var}(Y_i) + \mbox{E}[(\mu_i -\hat{Y}_i)^2]\] En este caso el último término se anula porque \(\tilde Y_i\) e \(\hat Y_i\) son independientes. Además \(\tilde{Y}_i\) e \(Y_i\) tienen la misma distribución y por eso sus varianzas coinciden.

El exceso de optimismo para la observación \(i\) es \[\mbox{Test}(i) - \mbox{Training}(i)=2\mbox{E}[(Y_i -\mu_i)(\hat{Y}_i-\mu_i)]=2\mbox{Cov}(Y_i,\hat{Y}_i),\] ya que \[\mbox{E}[(Y_i -\mu_i)(\hat{Y}_i-\mu_i)]=\mbox{E}[(Y_i -\mu_i)\hat{Y}_i]=\mbox{Cov}(Y_i,\hat{Y}_i).\] Promediando en \(i\) tenemos el resultado.

Métodos lineales

Vamos a aplicar el lema 1 cuando el método que usamos para predecir es lineal, en el sentido de que \(\hat{Y} = SY\) para una matriz \(S\) que no depende de \(Y\). La regresión lineal por mínimos cuadrados cumple esta condición tomando \(S=H=X(X'X)^{-1}X'\), la matriz sombrero. También se cumple si usamos el estimador ridge en lugar de mínimos cuadrados o si usamos algunos estimadores de regresión no parametricos, como por ejemplo el estimador de Nadaraya-Watson o los estimadores de mínimos cuadrados penalizados basados en splines.

Sea \(\mbox{Cov}(Y,\hat Y)\) la matriz \(n\times n\) cuyas entradas son \(\mbox{Cov}(Y_i,\hat{Y}_j)\). Entonces, \[\sum_{i=1}^n \mbox{Cov}(Y_i,\hat{Y}_i) = \mbox{traza}[\mbox{Cov}(Y,\hat Y)] = \mbox{traza}[\mbox{Cov}(Y,SY)] = \mbox{traza}(\Sigma S),\] donde, recordamos, \(\Sigma\) es la matriz de covarianzas de \(Y\). Así pues, la fórmula del lema se reduce a \[\mbox{Test} = \mbox{Training} + \frac{2}{n}\, \mbox{traza}(\Sigma S).\]

Regresión lineal por mínimos cuadrados

Consideramos el ajuste por mínimos cuadrados de un modelo de regresión lineal. Si las respuestas son independientes y tienen la misma varianza, entonces \(\Sigma = \sigma^2\mathbb{I}\) y \(\mbox{traza}(\Sigma H) = \sigma^2 \mbox{traza}(H) = \sigma^2 p\), donde \(p\) es el número de coeficientes de regresión estimados (incluyendo el término independiente). Hemos usado \[\mbox{traza}(H) = \mbox{traza}(X(X'X)^{-1}X') = \mbox{traza}((X'X)^{-1}X'X) = p.\]

Por tanto, en este caso, \[\mbox{Test} = \mbox{Training} + \frac{2p\sigma^2}{n}. \tag{1}\]

Aunque hemos tratado las variables regresoras como no aleatorias, la expresión final no depende de \(x_1,\ldots,x_n\) y por lo tanto es válida también en el caso de regresores aleatorios.

Usando la fórmula para seleccionar modelos

Si en la ecuación (1) usamos un estimador de la varianza apropiado \(\hat\sigma^2\) y estimamos \(\mbox{Training}\) con la suma de los residuos al cuadrado dividida por \(n\), obtenemos el llamado criterio \(C_p\) de Mallows para seleccionar modelos: \[C_p =\frac{1}{n}\left(\sum_{i=1}^n (Y_i - \hat{Y}_i)^2 + 2p\hat{\sigma}^2\right).\] Así que cuando elegimos el modelo que minimiza \(C_p\), estamos seleccionando el modelo de regresión lineal para el que un estimador del error de test es el menor posible, y esto es independiente de cuál sea el verdadero modelo que siguen los datos.