始める無料で始める

受入率を固定したときの不良率を計算する

この動画では、次の情報が与えられたときに、銀行のローン・ポートフォリオにおける不良率(すなわちデフォルト率の割合)を計算する方法を学びました。

  1. ある特定のモデル
  2. 受入率

この演習では、以前に学習したプルーニング後の決定木 ptree_prior を用い、受入率を80%とした場合に、銀行が見込む不良率を計算します。参考として、右側にこの決定木のプロットが表示されています。

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

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

コースを見る

演習の手順

  • スクリプトには、プルーニングした木と test_set を使ってデフォルト確率を予測するコードが用意されています。predict() を決定木に対して使う場合、デフォルト確率は2列目にあります。そのため predict() の結果に [,2] を付けています。
  • prob_default_prior を使って、受入率80%となるカットオフを求めましょう。これには quantile() 関数を使い、第2引数を 0.8 に設定します。オブジェクト名は cutoff_prior としてください。
  • 実際の二値デフォルト予測(0 または 1)を得るためのコードが用意されています。ifelse() を使用します。オブジェクト名は bin_pred_prior_80 としてください。
  • 受入率80%に基づき、受理されたローンに対応する test_set のデフォルト指標を選択するコードが用意されています。
  • 受理されたローンについて、デフォルトの割合(不良率)を計算してください。これは accepted_status_prior_80 に含まれる 1 の出現数を、このベクトルの要素数で割ったものです。Rコンソールに結果を出力してください。

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

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

# Make predictions for the probability of default using the pruned tree and the test set.
prob_default_prior <- predict(ptree_prior, newdata = test_set)[ ,2]

# Obtain the cutoff for acceptance rate 80%
  

# Obtain the binary predictions.
bin_pred_prior_80 <- ifelse(prob_default_prior > cutoff_prior, 1, 0)

# Obtain the actual default status for the accepted loans
accepted_status_prior_80 <- test_set$loan_status[bin_pred_prior_80 == 0]

# Obtain the bad rate for the accepted loans

コードを編集して実行