Як розрахувати aic в r (включаючи приклади)


Інформаційний критерій Akaike (AIC) — це метрика, яка використовується для порівняння відповідності множинних регресійних моделей.

Він розраховується таким чином:

AIC = 2K – 2 ln (L)

золото:

  • K: Кількість параметрів моделі. Значення K за замовчуванням дорівнює 2, тому модель лише з однією змінною предиктора матиме значення K 2+1 = 3.
  • ln (L) : логарифм правдоподібності моделі. Більшість статистичних програм можуть автоматично обчислити це значення для вас.

AIC розроблено, щоб знайти модель, яка пояснює найбільшу варіацію в даних, водночас штрафуючи моделі, які використовують надмірну кількість параметрів.

Після встановлення кількох регресійних моделей ви можете порівняти значення AIC кожної моделі. Чим нижче AIC, тим більше підходить модель.

Щоб обчислити AIC моделей множинної регресії в R, ми можемо використати функцію aictab() із пакету AICcmodavg .

У наступному прикладі показано, як використовувати цю функцію для обчислення та інтерпретації AIC для різних моделей регресії в R.

Приклад: розрахувати та інтерпретувати AIC у R

Припустімо, ми хочемо підібрати три різні моделі множинної лінійної регресії за допомогою змінних із набору даних mtcars .

Ось змінні предиктора, які ми будемо використовувати в кожній моделі:

  • Змінні прогнозу в моделі 1: disp, hp, wt, qsec
  • Змінні предиктора в моделі 2: disp, qsec
  • Змінні предиктора в моделі 3: disp, wt

Наступний код показує, як підібрати кожну з цих моделей регресії:

 #fit three models
model1 <- lm(mpg ~ disp + hp + wt + qsec, data = mtcars)
model2 <- lm(mpg ~ disp + qsec, data = mtcars)
model3 <- lm(mpg ~ disp + wt, data = mtcars)

Далі ми розмістимо моделі в списку та використаємо функцію aictab() , щоб обчислити AIC кожної моделі:

 library (AICcmodavg)

#define list of models
models <- list(model1, model2, model3)

#specify model names
mod.names <- c('disp.hp.wt.qsec', 'disp.qsec', 'disp.wt')

#calculate AIC of each model
aictab(cand.set = models, modnames = mod.names)

Model selection based on AICc:

                K AICc Delta_AICc AICcWt Cum.Wt LL
disp.hp.wt.qsec 6 162.43 0.00 0.83 0.83 -73.53
available wt 4 165.65 3.22 0.17 1.00 -78.08
disp.qsec 4 173.32 10.89 0.00 1.00 -81.92

Ось як інтерпретувати результат:

  • K: Кількість параметрів у моделі.
  • AICc: значення AIC моделі. Мала буква «c» вказує на те, що AIC було розраховано на основі AIC, скоригованого для невеликих вибірок.
  • Delta_AICc: різниця між AIC найкращої моделі та поточної порівнюваної моделі.
  • AICcWt: частка загальної потужності прогнозування, яку можна знайти в моделі.
  • Cum.Wt : кумулятивна сума ваг AIC.
  • LL: логарифм правдоподібності моделі. Це говорить нам про те, наскільки ймовірна модель, враховуючи дані, які ми використали.

Модель з найнижчим значенням AIC завжди вказується першою. З результату ми бачимо, що наступна модель має найнижче значення AIC і тому є найкращою моделлю:

mpg = β 0 + β 1 (disp) + β 2 (hp) + β 3 (вага) + β 4 (qsec)

Коли ми визначимо цю модель як найкращу, ми можемо продовжити підгонку моделі та проаналізувати результати, включаючи значення R-квадрат і бета-коефіцієнти, щоб визначити точний зв’язок між набором прогнозних змінних і змінною відповіді .

Додаткові ресурси

Як виконати просту лінійну регресію в R
Як виконати множинну лінійну регресію в R
Як обчислити скоригований R-квадрат у R
Як розрахувати Mallows Cp у R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *