Selección de variables

regresion

Si tenemos muchas variables explicativas, hay que saber con cuáles quedarnos.

Eduardo Selim M. M. , Carlos A. Ar.
06-06-2021

Selección de variables

Para seleccionar un modelo de otro, las métricas siguientes nos ayudan a comparar entre modelos:

Estas métricas sirven para “comparar” dos modelos. Uso “comparar” entre comillas porque a veces la comparación no es justa. El caso de \(R^2\) es un ejemplo claro porque:

\(R^2_a: R^2\) ajustada

Definimos esta métrica que sí considera el efecto de agregar variables explicativas, como sigue:

\[ R_a^2 := 1-\frac{\frac{RSS}{n-k-1}}{\frac{TSS}{n-1}} \\ n: \text{ número de observaciones} \\ k: \text{ número de variables explicativas en el modelo} \]

Observaciones

Estadística \(C_p\) de Mallow

\[ C_p := \begin{cases} \frac{(RSS)_p + 2p\cdot S^2_{full}}{n}, \text{ James, Tibihrani, et al} \\ \frac{(RSS)_p}{S^2_{full}} - n + 2p, \text{ Frees.} \end{cases} \]

donde

Se puede demostrar (de forma algebráica)

\[ C_p^{\text{James}} = \frac{S^2_{full}}{n} (C_p^{\text{Frees}} + n) \]

AIC & BIC (para modelos lineales)

\[\begin{align*} \text{AIC} &= \frac{(RSS)_p + 2p \cdot S^2_{full}}{n \cdot S^2_{full}} \\ \text{BIC} &= \frac{(RSS)_p + \log(n) \cdot p \cdot S^2_{full}}{n \cdot S^2_{full}} \end{align*}\]

¿Cuándo \(\log(n)\) es mayor que 2?

\[ \log(n) > 2 \iff n> e^2 = 7.38 \approx 8 \]

Para un modelo fijo podemos saber que BIC\(>\)AIC cuando \(n>8\), lo cual es muy común.

Mejor selección de subconjunto

Selección forward

Con regla de paro

Empezamos con \(y = \beta_0 + \epsilon\)

Si llegamos hasta agregar las \(k\) variables ¿Cuántos modelos ajustamos?

\[ \underbrace{1}_{\text{modelo nulo}} + [\underbrace{k}_{\text{ajustes con }\\ 1\text{ variable}} + (k-1) + ... + \underbrace{1}_{\text{ajuste con}\\ \text{las }k \text{ variables}}] = 1+ \frac{k(k+1)}{2} \leq 2^k \]

Lo cual implica que con este algoritmo, reducimos el número de comparaciones. El problema es que no logramos hacer todas las comparaciones, solo decimos: encontramos el mejor modelo, suponiendo que debemos dejar una variable (correspondiente al paso F2 del algoritmo).

En resumen la ventaja es mayor eficiencia pero la desventaja es que no encontramos el “mejor modelo global” (lo descrito al inicio de esta nota).

Hacia atrás (selección backward)

Dadas \(x_1, x_2, .., x_k\) variables explactivas potenciales, \(x_k\).

Se empieza con el modelo más “completo” i.e. el de \(k\) variables.

\[ \mu_k: y = \beta_0 + \beta_1 x_1 + ... + \beta_k x_k + \epsilon \]

Y se eliminan las variables estadísticamente menos significativas en cada paso.

¿Qué significa una vairbale “menos significativa”?

Una variable es la más insignificante si satisface alguna de estas condiciones (que son equivalentes):

  1. Si \(t-rato\) asociado es el más pequeño (en valor absoluto), de entre todas las variables explicativas presentes.

  2. El RSS del modelo resultante es el más pequeño, i.e. borrar la variable del mismo modelo con el menor incremento en el RSS y la menor cantidad de importancia sobre el modelo.

    • ¿Por qué se vale? Como se están eliminando predictores, el RSS debe incrementarse (\(y_i\) se aleja de \(\hat{y}_i\) que “trae” menos info), pero se busca la variable con el menor incremento.

    • El \(R^2\) resultante sea el más alto.

Tarea: hacer una presentación sobre la forma que se implementa la selección de variables en las librerías Broom, Recipies y Tidymodels.

Importante:

Selección stepwise

Es un híbrido entre backward y forward. Funciona como en selección forward pero con una regla de paro, pues se re-evalúa la significancia estadística de todas las variables en el modelo en cuestión.

Bajo este procedimiento una variable explicativa puede entrar ó salir del modelo durante la ejecución del algoritmo de selección.

Ejemplo:

$$ \[\begin{align*} &x_1, x_2, ..., x_{10}\\ 1. &y \sim 1+ x_1 \\ &\boxed{y \sim 1+ x_2} \\ &\vdots \\ & y\sim 1+ x_{10} \\ 2. &\underline{y \sim 1+ x_2} \\ &\downarrow \\ 3. & y \sim 1+ x_2 + x_1 \\ & y \sim 1+x_2 + x_3 \\ & y\sim 1+ x_2 + x_3 \\ &\vdots \\ &y \sim 1+ x_2 + x_{10} \end{align*}\] $$

Con forward se hacen una pregunta adicional ¿\(x_2\) y \(x_4\) son significativas?