モデルの指定
stepAIC() 関数は、先ほどの動画で見たように、より小さなモデルを返します。ここでは、この手法を演習用データセット defaultData に適用してみましょう。
準備済みのデータセットは環境に読み込まれています。加えて、MASS パッケージは読み込まれており、以前に作成したロジットモデル logitModelFull も定義済みです。さらに、逐次的なモデル選択はデータセットが大きい場合やモデルが複雑な場合に時間がかかるため、ここではデータセットのサイズを小さくしていることに注意してください。
この演習はコースの一部です
Rで学ぶマーケティングアナリティクスのための機械学習
演習の手順
stepAIC()関数を使いましょう。モデル選択の全過程の出力は不要なので、trace = 0を指定してください。結果をオブジェクトlogitModelNewに保存します。- 次に、
summary()関数でlogitModelNewを確認します。今回は警告メッセージは無視して構いません。何が変わったのかを見て、結果を理解しましょう。 - 後で再利用するときに式全体を再入力しなくて済むよう、式はオブジェクトとして保存されています。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
library(MASS)
# The old (full) model
logitModelFull <- glm(PaymentDefault ~ limitBal + sex + education + marriage +
age + pay1 + pay2 + pay3 + pay4 + pay5 + pay6 + billAmt1 +
billAmt2 + billAmt3 + billAmt4 + billAmt5 + billAmt6 + payAmt1 +
payAmt2 + payAmt3 + payAmt4 + payAmt5 + payAmt6,
family = binomial, defaultData)
#Build the new model
logitModelNew <- stepAIC(___,___)
#Look at the model
summary(logitModelNew)
# Save the formula of the new model (it will be needed for the out-of-sample part)
formulaLogit <- as.formula(summary(logitModelNew)$call)
formulaLogit