R
在 R 和 AIC 中使用 drop1 命令
在 R 中使用 drop1 命令進行模型構建時,據說必須刪除具有最低 AIC 值的變量。相同的原因可能是什麼?我知道 AIC 談論信息丟失,並且 AIC 值越低越好,但刪除 AIC 低的變量似乎違反直覺。有人可以解釋這樣做的原因嗎?
給定的 AIC
drop1
與整個模型相關 - 而不是變量,因此輸出會告訴您要刪除哪個變量以生成具有最低 AIC 的模型。例如,使用內置數據集swiss
lm1 <- lm(Fertility ~ ., data = swiss) drop1(lm1, test = "F") # So called 'type II' anova Single term deletions Model: Fertility ~ Agriculture + Examination + Education + Catholic + Infant.Mortality Df Sum of Sq RSS AIC F value Pr(>F) <none> 2105.0 190.69 Agriculture 1 307.72 2412.8 195.10 5.9934 0.018727 * Examination 1 53.03 2158.1 189.86 1.0328 0.315462 Education 1 1162.56 3267.6 209.36 22.6432 2.431e-05 *** Catholic 1 447.71 2552.8 197.75 8.7200 0.005190 ** Infant.Mortality 1 408.75 2513.8 197.03 7.9612 0.007336 ** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
在這裡,去除
Examination
將產生具有最低 AIC 的模型在相關說明中,雖然使用 AIC 可能比使用 p 值更好,但使用任何自動模型選擇算法都被認為是不好的做法: Algorithms for automatic model selection