Информационный критерий Акаике (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