受入率を固定したときの不良率を計算する
この動画では、次の情報が与えられたときに、銀行のローン・ポートフォリオにおける不良率(すなわちデフォルト率の割合)を計算する方法を学びました。
- ある特定のモデル
- 受入率
この演習では、以前に学習したプルーニング後の決定木 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