R에서 bic를 계산하는 방법


종종 BIC로 약칭되는 베이지안 정보 기준(Bayesian Information Criterion)은 다양한 회귀 모델의 적합도를 비교하는 데 사용되는 척도입니다.

실제로 우리는 여러 회귀 모델을 동일한 데이터 세트에 맞추고 BIC 값이 가장 낮은 모델을 데이터에 가장 잘 맞는 모델로 선택합니다.

BIC를 계산하기 위해 다음 공식을 사용합니다.

BIC: (RSS+log(n)dσ̂ 2 ) / n

금:

  • d: 예측 변수의 수
  • n: 총 관측치
  • σ̂: 회귀 모델의 각 반응 측정값과 관련된 오차 분산 추정
  • RSS: 회귀 모델의 잔차 제곱합
  • TSS: 회귀 모델의 총 제곱합

다음 단계별 예는 R에서 회귀 모델에 대한 BIC 값을 계산하는 방법을 보여줍니다.

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 값을 계산하려면 flexmix 패키지의 BIC() 함수를 사용할 수 있습니다.

 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 의 BIC : 174.4815
  • 모델 2 BIC: 177.7048
  • 모델 3 BIC: 170.0307

모델 3은 BIC 값이 가장 낮으므로 데이터세트에 가장 적합한 모델로 선택하겠습니다.

추가 리소스

다음 튜토리얼에서는 R에서 일반적인 회귀 모델을 맞추는 방법을 설명합니다.

R에서 단순 선형 회귀를 수행하는 방법
R에서 다중 선형 회귀를 수행하는 방법
R에서 로지스틱 회귀를 수행하는 방법
R에서 가중 최소 제곱 회귀를 수행하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다