> #### フルモデルを解析
> result <- lm(Fertility ~ ., data=swiss)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 66.91518 10.70604 6.250 1.91e-07 ***
Agriculture -0.17211 0.07030 -2.448 0.01873 *
Examination -0.25801 0.25388 -1.016 0.31546
Education -0.87094 0.18303 -4.758 2.43e-05 ***
Catholic 0.10412 0.03526 2.953 0.00519 **
Infant.Mortality 1.07705 0.38172 2.822 0.00734 **
Multiple R-squared: 0.7067, Adjusted R-squared: 0.671
> #### 有意でない変数をモデルから除去
> result2 <- update(result, ~. -Examination)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 62.10131 9.60489 6.466 8.49e-08 ***
Agriculture -0.15462 0.06819 -2.267 0.02857 *
Education -0.98026 0.14814 -6.617 5.14e-08 ***
Catholic 0.12467 0.02889 4.315 9.50e-05 ***
Infant.Mortality 1.07844 0.38187 2.824 0.00722 **
Multiple R-squared: 0.6993, Adjusted R-squared: 0.6707
#### 個々の単回帰モデルについてAICを算出
my.AIC <- numeric(5)
for(i in 1:5){
res <- lm(swiss$Fertility ~ swiss[, i+1])
my.AIC[i] <- AIC(res)
}
data.list(matrix(my.AIC, ncol=1))
369.467485089417
350.352503439104
348.42229681314
364.347891835399
366.768286523082
#### 個々の単回帰モデルについてp値を算出
my.p <- numeric(5)
for(i in 1:5){
res <- lm(swiss$Fertility ~ swiss[, i+1])
my.p[i] <- summary(res)$coefficients[2, 4]
}
data.list(matrix(my.p, ncol=1))
0.0149172006147264
9.45043734069043e-07
3.65861696596238e-07
0.00102852319011815
0.00358523805395057
No.16844 Re: モデルの変数選択について(全般的に) 【青木繁伸】 2012/04/29(Sun) 21:18
単純にAIC最小のモデルを選択したでではないでしょうか。
決定係数により選択するという基準からはほんのわずかの差に過ぎないのですから,それを元にしてどちらかが優れていると決定しなければならないというものでもないでしょう。
将来の予測精度についての情報もはないわけですらか,どちらが優れているという判断も出来ないでしょう。
少 なくとも,得られている情報からは多変量的に考えていくつかのモデルに絞られ,そのうちでより妥当性のあるモデルはデータ以外の「実質的な状況証拠」に基 づいて選択されるべきものでしょう,ということでしょう。統計学的な分析結果や実質的な状況証拠に甲乙付けがたいときには,しいて数値的な違いのみでどち らが優れているというような判断はしないほうがよいと思います。
No.16851 Re: モデルの変数選択について(全般的に) 【波音】 2012/04/30(Mon) 11:33
回答ありがとうございます。
うーん,やはり数値的基準で判断するのが難しい場合(どちらが適切か灰色な場合)は意味的な解釈をしないといけないですね。実質的な仮説に基づいてモデルを考えなければならないというのは,なかなか難しい話ではありますが重要事項ですね。
● 「統計学関連なんでもあり」の過去ログ--- 045 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る