La documentación de R para cualquiera no arroja mucha luz. Todo lo que puedo obtener de este enlace es que usar cualquiera de los dos debería estar bien. Lo que no entiendo es por qué no son iguales.
Hecho: La función de regresión gradual en R, step()
usa extractAIC()
.
Curiosamente, ejecutar un lm()
modelo y un modelo glm()
'nulo' (solo la intercepción) en el conjunto de datos 'mtcars' de R da resultados diferentes para AIC
y extractAIC()
.
> null.glm = glm(mtcars$mpg~1)
> null.lm = lm(mtcars$mpg~1)
> AIC(null.glm)
[1] 208.7555
> AIC(null.lm)
[1] 208.7555
> extractAIC(null.glm)
[1] 1.0000 208.7555
> extractAIC(null.lm)
[1] 1.0000 115.9434
Es extraño, dado que los dos modelos anteriores son iguales y AIC()
dan los mismos resultados para ambos.
¿Alguien puede arrojar algo de luz sobre el tema?
fuente
extractAIC(null.lm) != AIC(null.lm)
, mientras queextractAIC(null.glm) == AIC(null.glm)
a pesar de quenull.lm
es el mismo modelo quenull.glm
. ¿Podrías ampliar un poco tu respuesta?extractAIC
utiliza diferentes métodos paralm
ajustes yglm
ajustes, es decir,extractAIC.lm
yextractAIC.glm
. Puedes usargetAnywhere
para estudiar su código.AIC
usa el mismo método para ambos.extractAIC()
da un valor más bajo (negativo) para el Modelo 1, mientras que AIC da un valor más bajo (positivo) para el Modelo 2.