R

在 R 和 AIC 中使用 drop1 命令

  • May 22, 2016

在 R 中使用 drop1 命令進行模型構建時,據說必須刪除具有最低 AIC 值的變量。相同的原因可能是什麼?我知道 AIC 談論信息丟失,並且 AIC 值越低越好,但刪除 AIC 低的變量似乎違反直覺。有人可以解釋這樣做的原因嗎?

給定的 AICdrop1與整個模型相關 - 而不是變量,因此輸出會告訴您要刪除哪個變量以生成具有最低 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

引用自:https://stats.stackexchange.com/questions/213876

comments powered by Disqus