User Tools

Site Tools


aic

AIC는 모델의 적합도와 예측 변인의 갯수가 (파라미터의 갯수) 적절한지를 보는 지표이다. 예측변인이 필요이상으로 많다면 AIC지수가 높아지게 되어 적절한 모델이 아님을 알려준다. 이것은 anova 펑션을 이용하여 중첩된 두 회귀분석의 F값을 비교하는 방법과 비슷하다고 보면 된다.

lm.01 <- lm(mpg ~ wt, data=mtcars)
lm.02 <- lm(mpg ~ wt + hp, data=mtcars)
lm.03 <- lm(mpg ~ wt + hp + disp, data=mtcars)
anova(lm.01, lm.02, lm.03)

AIC(lm.03)
AIC(lm.02)
AIC(lm.01)
AIC(lm.01, lm.02, lm.03)
> lm.01 <- lm(mpg ~ wt, data=mtcars)
> lm.02 <- lm(mpg ~ wt + hp, data=mtcars)
> lm.03 <- lm(mpg ~ wt + hp + disp, data=mtcars)
> anova(lm.01, lm.02, lm.03)
Analysis of Variance Table

Model 1: mpg ~ wt
Model 2: mpg ~ wt + hp
Model 3: mpg ~ wt + hp + disp
  Res.Df    RSS Df Sum of Sq       F   Pr(>F)   
1     30 278.32                                 
2     29 195.05  1    83.274 11.9579 0.001758 **
3     28 194.99  1     0.057  0.0082 0.928507   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> 
> AIC(lm.03)
[1] 158.643
> AIC(lm.02)
[1] 156.6523
> AIC(lm.01)
[1] 166.0294
> AIC(lm.01, lm.02, lm.03)
      df      AIC
lm.01  3 166.0294
lm.02  4 156.6523
lm.03  5 158.6430
> 

아래는 AIC가 사용된 예로써, statistical regression의 결과 아웃풋이다.

> step(lm.mod, direction="backward")
Start:  AIC=65.83
mpg ~ wt + hp + disp

       Df Sum of Sq    RSS    AIC
- disp  1     0.057 195.05 63.840
<none>              194.99 65.831
- hp    1    51.692 246.68 71.356
- wt    1    88.503 283.49 75.806

# <none>에 해당하는 점수 65.831은 
# Start: AIC=65.83을 이야기한다. 즉 아무변인도
# 제거하지 않았을 때의 AIC점수가 65.831이다
# 그 다음 AIC점수는 해당 줄의 변인이 제거되었을 
# 때의 점수를 말한다. 그 점수가 제일 낮은 
# 것이 63.840이고 이 점수는 <none>보다
# 낮으니 해당변인인 disp를 제거한 결과는 
# 본다

Step:  AIC=63.84
mpg ~ wt + hp

       Df Sum of Sq    RSS    AIC
<none>              195.05 63.840
- hp    1    83.274 278.32 73.217
- wt    1   252.627 447.67 88.427



Call:
lm(formula = mpg ~ wt + hp, data = mtcars)

Coefficients:
(Intercept)           wt           hp  
   37.22727     -3.87783     -0.03177  

> 
aic.txt · Last modified: 2023/12/10 21:52 by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki