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