Employing Explainable AI to Optimize the Return Target Function of a Loan Portfolio ==> 読後メモ
Paper
Preparation
- ローン審査で、Defaultするユーザを予測するモデルを考える。
- False Positive Rate = ローンでDefault「しない」ユーザに占める、Default「する」と予測されたユーザの割合。誤陽性とも呼ぶ。低いほどよい。
- True Positive Rate = ローンでDefault「する」ユーザに占める、Default「する」と予測されたユーザの割合。真陽性・感度・再現率とも呼ぶ。高いほど良い。
- AUC = True Positive Rateが上がるほど、False Positive Rateも上昇する。以下に、False Positive Rateの上昇をおさえつつ、True Positive Rateを高められるかを表したのがAUC。
- Default = ローンで、お金が返せなくなること。
- PD = Probability of Default
- Basis point (bps) = 1%の1/100。1ベーシス = 0.01%。100ベーシス = 1%。
Summary
- Intro
- 「Default予測のAccuracyをあげること」と「ローンビジネスの収益をあげること」は、同一ではない。
- False Positive(Defaultではないが、Defaultと誤って予測する場合)を増やすことで、Businessの収益を増やせるのでは?
- Data
- Fintech-ho2020 project (https://fintech-ho2020.eu/) で提供されたExternal Credit Assesment Institution (ECAI)のデータを用いる
- 4,514 persons
- 88.97% (4,016 persons)= no default
- 11.03% (498 persons) = default
- 個々人での借り入れ金額の情報はないため、今回は皆一定と仮定。
- 7割をIn-sample、3割をOut-of-sampleとして利用
- 個々人での変数の数は24個。うち、19個の変数を入力として利用。
- Assumption
- Loss given default (LGD) = 8割と仮定
- Loan size = $1 per personと仮定
- 仮に全員を承認した場合 (=Baseline):
- Default cost = Detaultした人数 x LGD = $498 x 80% = $394.4
- Risk Premium = Default cost / Revenue = $394.4 / $4,016 = 9.92%
- Spread = $4,016 x 500bps = $4,016 x 5% = $200 と置く。
- このSpreadがProfitに相当。
- なぜなら、Default costはRisk Premiumで相殺されるため
- Logistic Regressionの適用
- Model
- Baseline model
- 閾値は1.0
- Acceptance Ratio = 1
- Accuracy = 0.89
- True Positive Rate = 0%
- False Positive Rate = 0%
- Profit = 60.74
- Accuracy Maxmising Threshold
- 各閾値でのAccuracyを計算する際、以下の定義を利用。これを全人について足し合わせ、人数で割ったものをAccuracyとして最大化。
- 予測と実際が一致した人を1とカウント
- そうでない場合を0とカウント
- 最適な閾値は0.4
- Acceptance Ratio = 0.9432
- Accuracy = 0.91 (Baselineと比べて約2%だけ上昇)
- True Positive Rate = 34.9%
- False Positive Rate = 2.07% (本来優良である人を不良と誤判定)
- Profit = 98.61 (Baselineと比べて大幅上昇)
- 筆者の意見: MLの実装は大変なのにAccuracyの上昇は、たった2%のみ。誤って承認されたDefaultユーザ(False Negative)と、誤ってRejectされたNo-Defaultユーザ(False Positive)では、コストは異なる。前者のほうが、事業が負うコストは大きい。
- 各閾値でのAccuracyを計算する際、以下の定義を利用。これを全人について足し合わせ、人数で割ったものをAccuracyとして最大化。
- Profit Maximising Threshold
- 各閾値でのAccuracyを計算する際、以下の定義を利用。これを全人について足し合わせたものをProfitとして、最大化する。
- 予測がDefaultの場合、0とカウント
- True Positive + False Positive
- 予測がNo-Defaultで、実際がNo-Defaultの場合、0.1492とする
- Risk Premium (9.92%) + Spread (5%)に相当
- True Negative
- 予測がNo-Defaultで、実際がDefaultの場合、-0.8とする
- - LGDに相当
- False Negative
- 予測がDefaultの場合、0とカウント
- この場合、最適な閾値は0.17
- Acceptance Ratio = 0.8509(小さめ)
- Accuracy = 0.8649
- True Positive Rate = 56.4%
- False Positive Rate = 9.8% (本来優良である人を不良と誤判定。大きめ)
- Profit = 98.61 (Accuracy-maxと比べて大幅上昇)
- 各閾値でのAccuracyを計算する際、以下の定義を利用。これを全人について足し合わせたものをProfitとして、最大化する。
- Model
- Decision Treeの適用
- 閾値は0.5で固定。
- Training DataにおけるDefault, No-defaultの重みを、Accuracy-Maxに調整した場合、Profit-Maxに調整した場合を比較。
- Accuracy-Maxに調整した場合
- Profit-Maxに調整した場合
- Defaultを1とした場合の、No-defaultの重みを0.2とした場合が、最適。
- Acceptance Ratio = 80.3% (Logistic Regressionの場合より低下)
- False-Positive Ratio = 14.59% (Logistic Regressionの場合より上昇)
- Accuracy = 0.827
- Profit = 107.2 (Logistic Regressionの場合より低下)
Impression
- Accuracy最大化とProfit最大化は異なる・・ということを、Simpleな例で示した論文。特に、以下の点は、なるほどと思った。
- False Negative(DefaultをNo-defaultと予測した場合)とFalse Positive(No-DefaultをDefaultと予測)の場合で扱いを変えた
- 特に、False Negativeを重め(悪いものとして)に評価
- Profit-Maxの場合にFalse Positiveが増えることは、現実には、問題になる可能性もあるのでは・・と推測。
- 本来、優良なお客さんをRejectしてしまうことは、悪いReputationにつながる恐れはないか?
- ローンにおいて、正解(Default, No-Default)は、お金を貸してみないと分からない。そのような中で、Profit-Maxの場合は、Acceptance Ratioを絞っている。絞り幅が大きい場合には、ビジネス上の機会損失(本来、優良なお客さんに、お金を貸せないことによる機会損失)になる懸念もあるのでは?