さらにモデルを縮約できますか?
変数 loan_amnt を削除すると、AUC は 0.6548 までさらに改善しました。得られたモデルは次のとおりです。
log_4_remove_amnt <- glm(loan_status ~ grade + annual_inc + emp_cat, family = binomial, data = training_set)
ロジスティック回帰モデルを、AUC を下げずに2変数だけにまで縮約できるでしょうか?この演習で確かめてみましょう。
この演習はコースの一部です
R で学ぶクレジットリスク・モデリング
演習の手順
- 再度、モデル
log_4_remove_amntから1つずつ変数を削除してください。リンク関数はデフォルト(logit)を使います。 - 作成した各モデルについて、
predict()でデフォルト確率の予測を行います。 - 3つの各モデルについて、
test_set$loan_statusを第1引数、各モデルの予測を第2引数として AUC を算出します。 - ワークスペース内で、AUC が最も高いモデルについて ROC 曲線を
plot(roc())で描画します。roc()の引数は、AUC が最大だったときにauc()に渡したものと同一にしてください。なお、log_4_remove_amntより AUC をこれ以上下げられない(= これが最良)場合もあります。その場合の予測値はpred_4_remove_amntとしてワークスペースに読み込まれています。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Build three models each time deleting one variable in log_4_remove_amnt
log_5_remove_grade <- glm(loan_status ~ annual_inc + emp_cat, family = binomial, data = training_set)
log_5_remove_inc <-
log_5_remove_emp <-
# Make PD-predictions for each of the models
pred_5_remove_grade <- predict(log_5_remove_grade, newdata = test_set, type = "response")
pred_5_remove_inc <-
pred_5_remove_emp <-
# Compute the AUCs
# Plot the ROC-curve for the best model here