Dokumentacja R dla obu nie rzuca dużo światła. Jedyne, co mogę uzyskać z tego linku, to to, że użycie jednego z nich powinno być w porządku. Nie rozumiem, dlaczego nie są równe.
Fakt: funkcję regresji krokowej w R, step()
zastosowania extractAIC()
.
Co ciekawe, uruchomienie lm()
modelu i modelu glm()
„zerowego” (tylko przechwytywanie) w zestawie danych „mtcars” R daje różne wyniki dla AIC
i 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
To dziwne, biorąc pod uwagę, że oba powyższe modele są takie same i AIC()
daje takie same wyniki dla obu.
Czy ktoś może rzucić nieco światła na ten problem?
źródło
extractAIC(null.lm) != AIC(null.lm)
,extractAIC(null.glm) == AIC(null.glm)
mimo żenull.lm
to ten sam model conull.glm
. Czy mógłbyś trochę rozszerzyć swoją odpowiedź?extractAIC
używa różnych metodlm
dopasowania iglm
dopasowania, tj .extractAIC.lm
iextractAIC.glm
. Możesz użyćgetAnywhere
do nauki ich kodu.AIC
używa tej samej metody dla obu.extractAIC()
daje niższą (ujemną) wartość dla Modelu 1, podczas gdy AIC daje niższą (dodatnią) wartość dla Modelu 2.