본문 바로가기
통계 & 데이터분석/Stats101

AIC(Akaike Information Criterion)

by 미니티스틱 2023. 4. 25.

AIC(Akaike Information Criterion)는 모델이 데이터에 얼마나 잘 맞는지 평가하기 위한 방법입니다. 이원 분산분석에서 다루었듯, AIC를 이용하여 다양한 모델을 비교하고 데이터에 가장 적합한 모델을 결정할 수 있는데요,  AIC 수식을 외울 필요는 없지만, AIC 결과를 해석하는데에 있어  어떻게 만들어진 식인지 살짝 나타내어보면 아래와 같습니다.
 

AIC = 2K - 2ln(L)

 
K는 모델을 구축하는데 사용되는 독립 변수의 수 (이원 분산분석의 예로 들자면 체중감량 프로그램 + 성별), 그리고 L은 Likelihood의 약자로, 해당 모델을 이용하였을 때, 데이터를 얼마나 잘 재현하는지(즉, 모델이 관찰된 종속변수(y) 값을 생성할 수 있는 가능성)를 나타내는 값 입니다. 이 log likelihood는 계산하기 복잡하므로, 주로 R을 사용하여 AIC 값을 구합니다.
 
AIC는 더 많은 독립 변수를 사용하는 모델에 페널티를 부여합니다. 따라서 두 모델이 동일한 양의 변동을 설명하는 경우 독립변수가 적은 모델이 AIC 점수가 낮고 더 적합한 모델이 되는데요, AIC 값은 낮을수록 (우리의 모델 리스트 중) 데이터에 적합한 모델이라고 할 수 있고, 이는 가능한 가장 적은 독립 변수를 사용하여 가장 큰 변동량을 설명하는 모델을 선택하는 과정이 되는 것입니다.
 
이 내용을 다르게 표현한다면, AIC 자체가 나타내는 값은 주어진 모델에 의해 손실된 정보의 상대적인 양을 추정한 것 입니다(참조: 위키피디아). 그러므로  모델이 손실하는 정보가 적을수록 더 좋은 모델이라고 판단할 수 있는 것입니다. 모델에 의해 손실된 정보의 양을 추정할 때 AIC는 모델의 단순성(K)과 적합도(L) 간의 균형을 고려하는데요, 이는 overfitting(과대 적합) 위험과 underfitting(과소 적합) 위험이 모두 식 안에 들어감으로써, 그 사이에서 최적의 균형을 찾은 값이 됩니다.
 
주의할 점은 여러 모델의 옵션 중 제일 나은 모델을 선택하도록 돕지만, 절대적인 모델의 수준에 대해서는 알 수 없으므로, 우리가 선택한 최상의 모델이 있다면 가설 검정을 통해 독립 변수와 종속 변수간의 관계를 파악하는 것이 좋습니다.
 
앞서 체중감량 프로그램과 성별에 따른 체중감량 효과에 대한 결과 분석을 하며 R을 사용하여 AIC 테스트를 하였는데요, 그 때는 가장 낮은 AIC를 선택하면 된다고 하고 넘어갔지만 오늘은 각각의 값이 의미하는 바를 알아보겠습니다. 일단 결과는 가장 낮은 AIC 순서로, 즉, 가장 적합한 모델 순서로 나열되어 나옵니다.(프로그램이 정말 똑똑하죠!)
 

모델 리스트와 AIC 테스트 출력값

 

  • K: 기본 K는 2이고, 독립 변수 df를 기본값 2에 더하는 식으로 나타냅니다.(예를들어, 일원 분산분석 시 체중 감량 프로그램에 A, B, C 세 종류로 df = 2 였으므로, 2+2= 4 가 K값이 됩니다.
  • AICc (AIC 값): 모델의 정보 점수(소문자 'c'는 표본이 작은 데이터에 맞추어 조정된 AIC 테스트에서 계산되었음을 나타냅니다). AIC 값이 작을수록 더 적합한 모델이 됩니다.
  • Delta_AICc(모델 간  AIC 차이 값): 최적의 모델, 즉 가장 위에 있는 모델과 비교했을 때의 AIC 점수 차이입니다. 이 표에서 차선 모델은 상위 모델에 비해 delta AIC가 2.76이고 세 번째로 우수한 모델은 상위 모델에 비해 3.38이 더 높습니다.
  • AICcWt(종속 변수에 대한 예측력 양의 비율): AICc 가중치는 해당 모델을 사용하였을 때, 데이터 예측 양에 대한 비율입니다. 즉, 약 70% 정도의 데이터가 이 모델을 통해 설명될 수 있음을 의미합니다.  
  • Cum.Wt(AICc 가중치의 합): 값을 비교해보면 Cumulative sum of the AICcWt 라고 할 수 있습니다.
  • LL(Log Likelihood): 주어진 데이터에서 모델이 종속변수(y) 값을 얼마나 잘 재생산 할 수 있는지의 척도를 나타내는 값 입니다.

 
위의 결과로 우리는 어떤 모델을 선택하였고, 가설 검정을 어떻게 실행하였을까요? 그 과정은 이원 분산분석 설명 시 단계별로 설명하였으므로 참고 바랍니다.

 

 

반응형

댓글