Як розрахувати bic в r


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

На практиці ми підбираємо кілька моделей регресії до одного набору даних і вибираємо модель із найнижчим значенням 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 для кожної моделі:

  • BIC моделі 1 : 174.4815
  • BIC моделі 2 : 177.7048
  • BIC моделі 3 : 170.0307

Оскільки модель 3 має найнижче значення BIC, ми виберемо її як модель, яка найкраще відповідає набору даних.

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

У наступних посібниках пояснюється, як адаптувати загальні моделі регресії в R:

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

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

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