Как рассчитать bic в r


Байесовский информационный критерий , часто сокращенно BIC , представляет собой меру, используемую для сравнения степени соответствия различных моделей регрессии.

На практике мы подгоняем несколько моделей регрессии к одному и тому же набору данных и выбираем модель с наименьшим значением BIC в качестве модели, которая лучше всего соответствует данным.

Для расчета BIC мы используем следующую формулу:

БИК: (RSS+log(n)dσ̂ 2 )/n

Золото:

  • d: Количество предикторов
  • n: Общее количество наблюдений
  • σ̂: Оценка дисперсии ошибки, связанной с каждой мерой ответа в регрессионной модели.
  • RSS: Остаточная сумма квадратов регрессионной модели.
  • TSS: общая сумма квадратов регрессионной модели.

В следующем пошаговом примере показано, как рассчитать значения BIC для регрессионных моделей в R.

Шаг 1. Просмотр данных

В этом примере мы будем использовать встроенный набор данных mtcars :

 #view first six rows of mtcars dataset
head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1

Шаг 2. Установите несколько шаблонов

Далее мы подберем несколько различных моделей регрессии, используя этот набор данных:

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

Шаг 3. Выберите модель с наименьшим BIC.

Чтобы рассчитать значение BIC для каждой модели, мы можем использовать функцию BIC() из пакета flexmix :

 library (flexmix)

#calculate BIC of model1
BIC(model1)

[1] 174.4815

#calculate BIC of model2
BIC(model2)

[1] 177.7048

#calculate BIC of model3
BIC(model3)

[1] 170.0307

Мы можем увидеть значения BIC для каждой модели:

  • БИК модели 1 : 174.4815
  • БИК модели 2 : 177.7048
  • Модель 3 БИК: 170.0307

Поскольку модель 3 имеет самое низкое значение BIC, мы выберем ее как модель, которая лучше всего соответствует набору данных.

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

В следующих руководствах объясняется, как адаптировать распространенные модели регрессии в R:

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

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

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