Я спробував обчислити AIC лінійної регресії в R, але без використання AIC
функції, як це:
lm_mtcars <- lm(mpg ~ drat, mtcars)
nrow(mtcars)*(log((sum(lm_mtcars$residuals^2)/nrow(mtcars))))+(length(lm_mtcars$coefficients)*2)
[1] 97.98786
Однак AIC
дає інше значення:
AIC(lm_mtcars)
[1] 190.7999
Може хтось скаже мені, що я роблю не так?
5
(ще не перевіряючи своєї відповіді): Вам не обов’язково робити щось неправильне, оскільки ймовірність насправді визначається лише до мультиплікативної константи; двоє людей можуть обчислити ймовірність журналу і отримати різні числа (але відмінності в імовірності журналу однакові).
—
Glen_b -Встановіть Моніку
Гадаю, відповідь Hong Oois пов'язана з цим питанням. Формула, яку використовує функція,
—
COOLSerdash
AIC
така -2*as.numeric(logLik(lm_mtcars))+2*(length(lm_mtcars$coefficients)+1)
.
luciano: "+1" у цій формулі @COOLSerdash вказує на те, що виникає з терміна параметра параметра дисперсії. Зауважте також, що ця функція
—
Glen_b -Встановити Моніку
logLik
говорить про те, що для lm
моделей вона включає "всі константи" ... тож log(2*pi)
там десь буде
@Glen_b: Чому кажуть, що ймовірність визначена лише до мультиплікативної константи? Зрештою, порівнюючи вкладені моделі з різних сімейства розповсюдження (наприклад, з AIC або з тестом Кокса), потрібно пам’ятати про цю константу.
—
Scortchi
@Scortchi визначення не моє! Вам доведеться взятися за це з RAFisher. Думаю, це було саме з самого початку (1921). Що це все ще визначено таким чином, принаймні у безперервному випадку, дивіться тут , наприклад, у реченні, що починається "Точніше".
—
Glen_b -Встановіть Моніку