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


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

Он рассчитывается следующим образом:

АИК = 2К – 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

Вот как интерпретировать результат:

  • К: Количество параметров в модели.
  • AICc: значение AIC модели. Строчная буква «c» означает, что AIC был рассчитан на основе AIC, скорректированного для небольших выборок.
  • Delta_AICc: разница между AIC лучшей модели и сравниваемой текущей модели.
  • AICcWt: доля общей предсказательной способности, которую можно найти в модели.
  • Cum.Wt : совокупная сумма весов AIC.
  • ЛЛ: Логарифмическое правдоподобие модели. Это говорит нам о том, насколько вероятна модель с учетом использованных нами данных.

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

миль на галлон = β 0 + β 1 (дисп) + β 2 (л.с.) + β 3 (вес) + β 4 (ксек)

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *