J'ai essayé de calculer l'AIC d'une régression linéaire dans R mais sans utiliser la AIC
fonction, comme ceci:
lm_mtcars <- lm(mpg ~ drat, mtcars)
nrow(mtcars)*(log((sum(lm_mtcars$residuals^2)/nrow(mtcars))))+(length(lm_mtcars$coefficients)*2)
[1] 97.98786
Cependant, AIC
donne une valeur différente:
AIC(lm_mtcars)
[1] 190.7999
Quelqu'un pourrait-il me dire ce que je fais mal?
AIC
est -2*as.numeric(logLik(lm_mtcars))+2*(length(lm_mtcars$coefficients)+1)
.
logLik
indique que pour les lm
modèles, elle inclut «toutes les constantes» ... donc il y en aura log(2*pi)
quelque part quelque part