Próbowałem obliczyć AIC regresji liniowej w R, ale bez użycia AICfunkcji:
lm_mtcars <- lm(mpg ~ drat, mtcars)
nrow(mtcars)*(log((sum(lm_mtcars$residuals^2)/nrow(mtcars))))+(length(lm_mtcars$coefficients)*2)
[1] 97.98786
Jednak AICdaje inną wartość:
AIC(lm_mtcars)
[1] 190.7999
Czy ktoś mógłby mi powiedzieć, co robię źle?
AICużywana przez tę funkcję to -2*as.numeric(logLik(lm_mtcars))+2*(length(lm_mtcars$coefficients)+1).
logLikmówi, że dla lmmodeli zawiera „wszystkie stałe” ... więc log(2*pi)gdzieś tam będzie