ストラテジーテーブルとストラテジーカーブ
前の演習で行った計算を複数の承認率に対して繰り返すと、ストラテジーテーブルを作成できます。これは銀行にとって有用なツールで、より適切な承認戦略の策定に役立ちます。
特定の承認率に対する不良率(bad rate)の計算方法はすでに学びましたので、作業を効率化するために strategy_bank 関数を用意してワークスペースに読み込んであります。この関数は、承認率が 5% 刻み(0%、5%、10%、…)のときのカットオフと不良率を計算します。
この演習はコースの一部です
R で学ぶクレジットリスク・モデリング
演習の手順
strategy_bank関数を確認しましょう。- ベクトル
predictions_cloglogには、第2章で使用した cloglog モデルによるデフォルト確率の予測値が含まれています。ベクトルpredictions_loss_matrixには、第3章で作成した損失行列を含む剪定済み木によるデフォルト確率の予測値が含まれています。各予測ベクトルにstrategy_bank関数を適用し、それぞれstrategy_cloglog、strategy_loss_matrixという名前のオブジェクトに代入してください。 - それぞれのオブジェクト名に
$tableを組み合わせると、ストラテジーテーブルを取得できます。 - ストラテジーカーブはすでにプロットしてあります。木モデルのストラテジーカーブは少し奇妙な挙動を示しています。分類木の構造上、このような不自然な「ジャンプ」が起きやすいことがあります。さらに、損失行列を用いた木は非常に大きかったため、過学習の結果である可能性もあります。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Have a look at the function strategy_bank
# Apply the function strategy_bank to both predictions_cloglog and predictions_loss_matrix
# Obtain the strategy tables for both prediction-vectors
# Plot the strategy functions
par(mfrow = c(1,2))
plot(strategy_cloglog$accept_rate, strategy_cloglog$bad_rate,
type = "l", xlab = "Acceptance rate", ylab = "Bad rate",
lwd = 2, main = "logistic regression")
plot(strategy_loss_matrix$accept_rate, strategy_loss_matrix$bad_rate,
type = "l", xlab = "Acceptance rate",
ylab = "Bad rate", lwd = 2, main = "tree")