Ho provato a calcolare l'AIC di una regressione lineare in R ma senza usare la AIC
funzione, in questo modo:
lm_mtcars <- lm(mpg ~ drat, mtcars)
nrow(mtcars)*(log((sum(lm_mtcars$residuals^2)/nrow(mtcars))))+(length(lm_mtcars$coefficients)*2)
[1] 97.98786
Tuttavia, AIC
fornisce un valore diverso:
AIC(lm_mtcars)
[1] 190.7999
Qualcuno potrebbe dirmi cosa sto facendo di sbagliato?
AIC
è -2*as.numeric(logLik(lm_mtcars))+2*(length(lm_mtcars$coefficients)+1)
.
logLik
dice che per i lm
modelli include "tutte le costanti" ... quindi ci sarà un log(2*pi)