29가지 통계 개념 - Akaike's Information Criterion(AIC)의 정의와 공식

Akaike’s Information Criterion 의 정의와 이를 구하는 방법에 대해 알아보자.

Akaike’s Information Criterion 이란 무엇인가?

Akaike’s Information Criterion(AIC; 아카이케 정보 기준) 은 여러 통계 모델들의 성능을 서로 비교할 수 있게 해준다. 예를 들어, 개인의 낮은 사회경제학적 지위에 기여하는 변수가 어떤 것인지, 그리고 이 변수들이 어떻게 그 지위에 영향을 주는지 알고 싶다고 해보자. 이를 분석하기 위해 교육수준, 가족 구성원의 수, 또는 장애 여부 등을 이용해서 여러 회귀 모형을 만들었다. AIC 는 각각의 모델을 가지고 순위를 매겨서 최고부터 최악의 모형을 보여줄 수 있다. “최고의” 모형은 과소적합(under-fit)을 하지도, 과대적합(over-fit)을 하지도 않는 모형일 것이다.

비록 AIC 가 한 집단에서 최고의 모형을 찾아주지만, 절대적인 성능에 대해서는 알려주지 못한다. 다시 말하자면, 여러분이 만든 모든 모형의 성능이 낮다면, 성능이 좋지 않은 모형들 사이에서 그나마 나은 것을 선택한다는 것이다. 그렇기 때문에 최고의 모형을 선택한 다음에는 그 모형에 속한 설명변수와 반응변수 사이의 관계를 찾아내기 위한 가설 검정을 실시하는 것을 고려해봐야 한다.

계산

Akaike’s Information Criterion 은 보통 프로그램을 이용해서 구한다. 기본적인 수식은 다음과 같이 정의한다.

AIC = 2 (log-likelihood) + 2k

여기서

  • $k$: 모형 파라미터의 갯수(모형에서 상수항을 포함한 설명변수의 갯수)
  • log-likelihood: 모형 적합도를 나타내는 척도

정규분포를 따르는 잔차를 가진 경우의 최소제곱을 이용한 회귀분석에는 아래의 공식을 대신 사용할 수 있다:

AIC = n $log(\hat{\sigma}^2)$ + 2k

여기서

  • $\hat{\sigma}^2: \frac{SS_R}{n}$
  • n: 표본의 크기
  • k: 모형 파라미터의 갯수

이 공식을 이용하는 경우 추정된 분산이 파라미터의 갯수에 포함되어야 함을 명심하길 바란다.

Delta 점수(Scores) 와 Akaike 가중치(Weights)

AIC 점수는 $\Delta$AIC 점수나 Akaike 가중치들로 표현된다. $\Delta$AIC 는 최고의 성능을 가진 모형($\Delta$AIC 값이 0인)과 각 모델의 상대적 차이를 의미한다. 그 공식은 아래와 같다:

$\Delta AIC = AIC_i - min AIC$

여기서

  • $AIC_i$: i 번째 모델의 점수
  • min AIC: “최고의 성능”을 가진 모형의 점수

Burnham 과 Anderson(2003) 은 $\Delta$AIC 점수를 해석하는 데에 다음과 같은 방법을 제안했다:

  • $\Delta$AIC < 2: 해당 모형이 맞다고 할 충분한 근거가 있다
  • 3 < $\Delta$AIC < 7: 해당 모형이 맞다고 할 근거가 충분하지는 않다
  • $\Delta$AIC > 10: 해당 모형이 맞다고 할 근거가 거의 없다

Akaike 가중치 는 계산하기에는 조금 더 번거롭긴 하지만, 이를 해석하기가 더 쉽다는 장점이 있다: Akaike 가중치는 한 모델이 전체 모델에서 최고의 성능을 가진 모델일 확률을 준다. 구하는 공식은 다음과 같다:

$w_i =\frac{exp(-\frac{1}{2} \Delta_i(AIC))}{\sum_{k=1}^n exp(-\frac{1}{2}\Delta_k(AIC))}$

참고자료

  • Burnham and Anderson (2003) Model Selection and Multimodel Inference: A Practical Information-Theoretic Approach. Springer Science & Business Media.

출처

Akaike’s Information Criterion: Definition, Formulas

2023

영어랑 친해지는 방법

7 minute read

가장 좋은 방법은 당연히 영어 밖에 사용하지 못하는 환경에 강제로 처해지는 것이겠지만 그것이 어려우니…

Back to top ↑

2022

Back to top ↑

2020

사내 스터디에 대한 회고

2 minute read

회사 서비스의 추천 시스템을 개선하기 위해 팀 내에서 (아직까진 두 명이긴 하지만) 지난 두 달 동안 스터디를 진행했습니다. 얼마 전 두 번째 스터디가 끝났고 이에 대한 회고를 해보려고 합니다.

Back to top ↑

2019

GitHub Pages Jekyll Blog 에 MathJax 추가하기

3 minute read

이 글은 MathJax 를 GitHub Pages Jekyll blog 에 추가하는 방법을 다룬다. 이탤릭체로 된 부분은 본문에는 없고 제가 따라하면서 고치거나 추가한 부분이니 참고하세요.

GitHub 블로그에 Jupyter notebook 올리는 방법

4 minute read

여러분의 GitHub 블로그에 Jupyter notebook 을 바꿔서 올릴 수 있도록 도와줄 글입니다. 직접 바꾸는 방법은 1회성 글들을 위해서 추가했고, 변환 과정과 파일 이동, 그리고 여러분의 블로그에 올리는 것까지 한 번에 할 수 있는 자동화 bash 를 만드는 자세한 방법...

Back to top ↑