始める無料で始める

モデルの指定

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
コードを編集して実行