R에서 aic를 계산하는 방법(예제 포함)


AIC(Akaike Information Criterion)는 여러 회귀 모델의 적합성을 비교하는 데 사용되는 측정항목입니다.

다음과 같이 계산됩니다.

AIC = 2K – 2ln (L)

금:

  • K: 모델 매개변수의 수입니다. K의 기본값은 2이므로 예측 변수가 하나만 있는 모델의 K 값은 2+1 = 3입니다.
  • ln (L) : 모델의 로그 우도입니다. 대부분의 통계 소프트웨어는 이 값을 자동으로 계산할 수 있습니다.

AIC는 데이터의 가장 큰 변화를 설명하는 모델을 찾는 동시에 과도한 수의 매개변수를 사용하는 모델에 페널티를 적용하도록 설계되었습니다.

여러 회귀 모델을 적용한 후에는 각 모델의 AIC 값을 비교할 수 있습니다. AIC가 낮을수록 적합한 모델입니다.

R에서 다중 회귀 모델의 AIC를 계산하려면 AICcmodavg 패키지의 aictab() 함수를 사용할 수 있습니다.

다음 예에서는 이 함수를 사용하여 R의 다양한 회귀 모델에 대한 AIC를 계산하고 해석하는 방법을 보여줍니다.

예: R에서 AIC 계산 및 해석

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

결과를 해석하는 방법은 다음과 같습니다.

  • K: 모델의 매개변수 수입니다.
  • AICc: 모델의 AIC 값입니다. 소문자 “c”는 작은 샘플에 대해 수정된 AIC에서 AIC가 계산되었음을 나타냅니다.
  • Delta_AICc: 최상의 모델의 AIC와 현재 모델의 AIC 간의 차이를 비교합니다.
  • AICcWt: 모델에서 찾을 수 있는 전체 예측력의 비율입니다.
  • Cum.Wt : AIC 가중치의 누적 합계입니다.
  • LL: 모델의 로그 가능성입니다. 이는 우리가 사용한 데이터를 바탕으로 모델이 얼마나 가능성이 있는지 알려줍니다.

AIC 값이 가장 낮은 모델이 항상 먼저 나열됩니다. 결과에서 다음 모델의 AIC 값이 가장 낮으므로 가장 적합한 모델임을 알 수 있습니다.

mpg = β 0 + β 1 (disp) + β 2 (hp) + β 3 (중량) + β 4 (qsec)

이 모델이 가장 좋은 것으로 식별되면 모델 피팅을 진행하고 R-제곱 값 및 베타 계수를 포함한 결과를 분석하여 예측 변수 세트와 응답 변수 간의 정확한 관계를 결정할 수 있습니다.

추가 리소스

R에서 단순 선형 회귀를 수행하는 방법
R에서 다중 선형 회귀를 수행하는 방법
R에서 조정된 R-제곱을 계산하는 방법
R에서 Mallows Cp를 계산하는 방법

의견을 추가하다

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