1. 学ぶ
  2. /
  3. コース
  4. /
  5. R で学ぶクレジットリスク・モデリング

Connected

演習

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

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

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

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

指示

100 XP
  • 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を確認しましょう。