appricot’s diary

日々の勉強のメモ

Employing Explainable AI to Optimize the Return Target Function of a Loan Portfolio ==> 読後メモ

Paper

www.frontiersin.org

 

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
      • Output=[0, 1]で、1に近いほどDefaultしやすい
      • 閾値以下の人を承認する。閾値0なら全員Reject閾値1なら、全員承認。この場合、PDは0.11
      • この閾値を調整することで、Accuraxy-Maxな最適化・Profit-Maxな最適化を実施。
    • 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
        • 次第に閾値をあげていったときに、承認された人のうち、「No-Defaultだった人」と「Defaultだった人の数」の差が最大となった点に相当。 (図3)
        • とはいえ、閾値0.15 - 0.6では、Accuracyは、それほど変わらず。
      • 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)では、コストは異なる。前者のほうが、事業が負うコストは大きい。
    • 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
      • この場合、最適な閾値は0.17
      • Acceptance Ratio = 0.8509(小さめ)
      • Accuracy = 0.8649 
      • True Positive Rate = 56.4%
      • False Positive Rate = 9.8% (本来優良である人を不良と誤判定。大きめ)
      • Profit = 98.61 (Accuracy-maxと比べて大幅上昇)
  • Decision Treeの適用
    • 閾値は0.5で固定。
    • Training DataにおけるDefault, No-defaultの重みを、Accuracy-Maxに調整した場合、Profit-Maxに調整した場合を比較。
    • Accuracy-Maxに調整した場合
      • Defaultを1とした場合の、No-defaultの重みを1とした場合が、最適。
        • No-defaultの重みが1未満の場合、全員、Rejectする傾向。
      • Acceptance Ratio = 95.6%
      • False-Positive Ratio = 1.24%
      • Accuracy = 0.911
      • Profit = 93.7
    • 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を絞っている。絞り幅が大きい場合には、ビジネス上の機会損失(本来、優良なお客さんに、お金を貸せないことによる機会損失)になる懸念もあるのでは?