Как рассчитать AIC в R (включая примеры)


Информационный критерий Акаике (AIC) — это показатель, который используется для сравнения соответствия нескольких регрессионных моделей.

Он рассчитывается как:

АИК = 2К – 2 лн (Л)

куда:

  • 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
disp.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 модели. Строчная буква «с» указывает на то, что AIC был рассчитан на основе AIC с поправкой на небольшие размеры выборки.
  • Delta_AICc: разница между AIC лучшей модели по сравнению с текущей сравниваемой моделью.
  • AICcWt: Доля общей прогностической способности, которую можно найти в модели.
  • Cum.Wt : Суммарная сумма весов AIC.
  • LL: Логарифмическое правдоподобие модели. Это говорит нам, насколько вероятна модель, учитывая данные, которые мы использовали.

Модель с наименьшим значением AIC всегда указывается первой. Из вывода видно, что следующая модель имеет наименьшее значение AIC и, следовательно, является наиболее подходящей моделью:

миль на галлон = β 0 + β 1 (расход) + β 2 (л.с.) + β 3 (масса) + β 4 (qsec)

После того, как мы определили эту модель как лучшую, мы можем приступить к подбору модели и проанализировать результаты, включая значение R-квадрата и бета-коэффициенты, чтобы определить точную взаимосвязь между набором переменных-предикторов и переменной отклика .

Дополнительные ресурсы

Как выполнить простую линейную регрессию в R
Как выполнить множественную линейную регрессию в R
Как рассчитать скорректированный R-квадрат в R
Как рассчитать Cp Маллоуса в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.