始める無料で始める

ロジスティック回帰モデルを比較するためのROC曲線

RのpROCパッケージを使うと、ROC曲線は簡単に作成できます。これまでの演習で使ってきた4つのロジスティック回帰モデルについて、ROC曲線に大きな違いがあるか確認してみましょう。事前情報として:

  • predictions_logit には、デフォルトのlogitリンクを用い、ageemp_catir_catloan_amnt を含む変数で推定したPD(デフォルト確率)の予測が入っています。
  • predictions_probit には、probitを用い、ageemp_catir_catloan_amnt を含む変数で推定したPDの予測が入っています。
  • predictions_cloglog には、cloglogリンクを用い、ageemp_catir_catloan_amnt を含む変数で推定したPDの予測が入っています。
  • predictions_all_full には、デフォルトのlogitリンクを用い、データセット中の7変数すべてを含めて推定したPDの予測が入っています。

まず、これら4モデルのROC曲線を1つのプロットに描画します。続いて、曲線下面積(AUC)を確認します。

この演習はコースの一部です

R で学ぶクレジットリスク・モデリング

コースを見る

演習の手順

  • RコンソールでpROCパッケージを読み込みます。
  • 関数 roc(response, predictor) を使って、4つのロジスティック回帰モデルのROCオブジェクトを作成します。レスポンスは test_set のローンステータス指標で、test_set$loan_status から取得できます。
  • 作成したオブジェクトを使ってROC曲線を描画します。4本を1つのプロットに重ねるには、最初のROC(ROC_logit)は plot() を使い、残り3本は同じプロットに lines() で追加します。
  • col 引数で色を指定します。ROC_probit"blue"ROC_cloglog"red"ROC_all_full"green" にしてください。動画での説明と異なり、x軸ラベルは「1-Specificity」ではなくSpecificityである点に注意してください。これにより、x軸は左が1、右が0の向きになります。
  • 今回はリンク関数の違いはROCに大きな影響を与えず、より多くの変数を含めることが主な改善要因のようです。ROC曲線の性能を正確に把握するため、関数 auc() を使ってAUCを確認しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Load the pROC-package


# Construct the objects containing ROC-information
ROC_logit <- roc(test_set$loan_status, predictions_logit)
ROC_probit <- 
ROC_cloglog <-
ROC_all_full <- 

# Draw all ROCs on one plot
plot(___)
lines(___, col=___)
lines(___, col=___)
lines(___, col=___)

# Compute the AUCs



コードを編集して実行