ステップワイズ回帰モデルを作る
ドメイン知識が十分でない場合、ステップワイズ回帰は関心のあるアウトカムに最も重要な予測変数を見つける際に役立ちます。
この演習では、前進法(フォワードステップワイズ)を用いて、予測変数を1つずつモデルに追加し、これ以上の改善が見られなくなるまで進めます。donors データセットはすでに読み込まれています。
この演習はコースの一部です
Rで学ぶSupervised Learning:分類
演習の手順
- R のフォーミュラインターフェースを
glm()と一緒に使い、予測変数なしのベースモデルを指定します。説明変数は1に設定します。 - 再び R のフォーミュラインターフェースを
glm()と一緒に使い、すべての予測変数を含むモデルを指定します。 - これらのモデルに
step()を適用して前進ステップワイズ回帰を実行します。最初の引数をnull_modelにし、direction = "forward"を指定します。ステップワイズ選択では多数のモデルを当てはめるため、処理に少し時間がかかることがあります(最大で10〜15秒程度)。 predict()関数で予測確率のベクトルを作成します。roc()とplot()で ROC 曲線を描画し、auc()でステップワイズモデルの AUC を計算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Specify a null model with no predictors
null_model <- ___(___, data = ___, family = "___")
# Specify the full model using all of the potential predictors
full_model <- ___
# Use a forward stepwise algorithm to build a parsimonious model
step_model <- step(___, scope = list(lower = null_model, upper = full_model), direction = "___")
# Estimate the stepwise donation probability
step_prob <- ___
# Plot the ROC of the stepwise model
library(pROC)
ROC <- ___
plot(___, col = "red")
auc(___)