Quizás sería más fácil entender cómo se realiza la regresión gradual al observar los 15 posibles modelos de película.
Aquí hay un resumen para generar fórmulas para las 15 combinaciones.
library(leaps)
tmp<-regsubsets(mpg ~ wt + drat + disp + qsec, data=mtcars, nbest=1000, really.big=T, intercept=F)
all.mods <- summary(tmp)[[1]]
all.mods <- lapply(1:nrow(all.mods, function(x)as.formula(paste("mpg~", paste(names(which(all.mods[x,])), collapse="+"))))
head(all.mods)
[[1]]
mpg ~ drat
<environment: 0x0000000013a678d8>
[[2]]
mpg ~ qsec
<environment: 0x0000000013a6b3b0>
[[3]]
mpg ~ wt
<environment: 0x0000000013a6df28>
[[4]]
mpg ~ disp
<environment: 0x0000000013a70aa0>
[[5]]
mpg ~ wt + qsec
<environment: 0x0000000013a74540>
[[6]]
mpg ~ drat + disp
<environment: 0x0000000013a76f68>
Los valores de AIC para cada modelo se extraen con:
all.lm<-lapply(all.mods, lm, mtcars)
sapply(all.lm, extractAIC)[2,]
[1] 97.98786 111.77605 73.21736 77.39732 63.90843 77.92493 74.15591 79.02978 91.24052 71.35572
[11] 63.89108 65.90826 78.68074 72.97352 65.62733
Volvamos a tu regresión por pasos. El valor extractAIC para lm (mpg ~ wt + drat + disp + qsec) es 65.63 (equivalente al modelo 15 en la lista anterior).
Si el modelo elimina disp (-disp), entonces lm (mpg ~ wt + drat + qsec) es 63.891 (o el modelo 11 en la lista).
Si el modelo no elimina nada (ninguno), entonces el AIC sigue siendo 65.63
Si el modelo elimina qsec (-qsec), entonces lm (mpg ~ wt + drat + disp) es 65.908 (modelo 12).
etc.
Básicamente, el resumen revela la posible eliminación gradual de un término de su modelo completo y compara el valor de extractAIC, enumerándolos en orden ascendente. Dado que el valor AIC más pequeño es más probable que se parezca al modelo TRUTH, el paso conserva el modelo (-disp) en el paso uno.
El proceso se repite nuevamente, pero con el modelo retenido (-disp) como punto de partida. Los términos se restan ("hacia atrás") o se restan / agregan ("ambos") para permitir la comparación de los modelos. Dado que el valor AIC más bajo en comparación sigue siendo el modelo (-disp), se dan los parámetros de detención de proceso y resultantes.
Con respecto a su consulta: "¿Qué es la función que intenta lograr agregando el + disp nuevamente en la selección por pasos?", En este caso, realmente no hace nada, porque el mejor modelo en los 15 modelos es el modelo 11 , es decir, lm (mpg ~ wt + drat + qsec).
Sin embargo, en modelos complicados con un gran número de predictores que requieren numerosos pasos para resolverse, la adición de un término que fue eliminado inicialmente es fundamental para proporcionar la forma más exhaustiva de comparar los términos.
Espero que esta ayuda de alguna manera.
Aquí una respuesta simplificada. Primero, ambos procedimientos intentan reducir el AIC de un modelo dado, pero lo hacen de diferentes maneras. Entonces, la diferencia básica es que en el procedimiento de selección hacia atrás solo puede descartar variables del modelo en cualquier paso, mientras que en la selección por pasos también puede agregar variables al modelo.
Acerca de la salida en la selección por pasos, en general, la salida muestra alternativas ordenadas para reducir su AIC, por lo que la primera fila en cualquier paso es su mejor opción. Luego, hay un
+disp
en la tercera fila porque agregar esa variable a su modelo sería su tercera mejor opción para disminuir su AIC. Pero obviamente, como su mejor alternativa es<none>
, eso significa no hacer nada, el procedimiento se detiene y le brinda los mismos resultados que en la selección hacia atrás.fuente