0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

金融データサイエンス基礎Part 5. 順位付けだけでは足りません:信用モデル評価の三つの軸

0
Posted at

原文: han-co.com ·「金融データサイエンス基礎」連載のPart 5です。(原文には手描きの図も載せています。)

Part 4でモデルを作りました。ではそのモデルが使えるかどうかを、どう評価すればいいでしょうか。一般的な機械学習の分類モデルなら、たいてい一つを見ます。どれだけよく当てるか、つまり順位をうまく付けるかです。ところが信用では、それだけでは足りません。

信用モデルの評価は三つの問いに分かれます。誰がより危険かの順位をうまく付けるか(判別)、その危険が実際の貸し倒れ確率と一致するか(補正)、そして時間が経って顧客が変わっても評価が一貫するか(安定性)です。一つ目は一般的なMLも押さえますが、あとの二つは信用だからこそ重要です。

判別: 順位をどれだけうまく付けるか

まず判別です。危険な顧客と安全な顧客をどれだけうまく分けるか、ですね。

実務で最もよくヘッドラインとして報告する判別指標はAUCです。AUCは、ランダムに貸し倒れ客一人と正常客一人を選んだとき、モデルが貸し倒れ客により高いリスクスコアを与える確率です。0.5ならコイン投げ、1.0なら完全な分離で、ROC曲線の下の面積とも言います。信用ではこれをGiniによく置き換えます。Giniは 2 × AUC − 1 なので、AUC 0.5はGini 0、AUC 1.0はGini 1になります。同じ情報を0を基準に書き直しただけなので、業界で「Gini 0.5のモデル」と言えばAUC 0.75を指します。

ところがPart 3で見たように、貸し倒れはたいてい1〜5%の稀な事象です。こう片方が少ないと、ROCベースのAUCは実際より甘く見えることがあります。そこで貸し倒れのような不均衡な問題では、PR-AUC(適合率と再現率で描いた曲線の下の面積、average precision)や上位k%の捕捉率を合わせて見ます。稀な貸し倒れを実際にどれだけ拾えるかにより敏感だからです。SSL編で見たAMEXの指標も、上位4%の捕捉率とGiniを混ぜた、この系列の指標でした。

ただ二つは性格が違います。AUCとGiniは貸し倒れ率が変わっても値がぶれず(prevalence-invariant)、ポートフォリオや時点の違うモデルを比べるのに向きます。一方PR-AUCは貸し倒れ率そのものに依存するので、貸し倒れ率の違うデータどうしでは数字を直接比べにくいです。だから競争ではなく用途が違います。比較が必要ならAUCを、稀な貸し倒れをよく捉えるかが気になるならPR-AUCを見ます。

それ以外に、判別指標の中で信用にとりわけ深く根づいたものがもう一つあります。KS(Kolmogorov-Smirnov)です。原理は単純です。スコアを低いほうから高いほうへたどりながら、その地点までに貸し倒れ客が何パーセント積み上がったかと、正常客が何パーセント積み上がったかを比べます。良いモデルなら貸し倒れは低いスコアに、正常は高いスコアに偏っているはずなので、二つの累積曲線が大きく開きます。その開きが最も大きい地点の間隔がKSです。

KSが信用で長く使われてきたのには理由があります。数字一つに要約でき、0から100の間で直感的で、AUCのように貸し倒れ率にぶれず、何よりカットオフ一本で承認と否決を分ける審査の考え方によく合います。KSが最も大きい地点が、そのまま正常と貸し倒れが最もよく分かれるカットオフ候補になるからです。おおよそ20を超えれば使え、40を超えれば強いモデルと見ます。高すぎるとむしろリークを疑いますが。Part 3で見たあの話です。

最近の実務ではAUCやPR-AUCをヘッドラインとしてより多く見ますが、KSは規制文書やスコアカードの検証で今も標準のように登場します。自分では使わなくても出会うことが多いので、読めるようにはしておくべきです。どちらにせよ、順位をどれだけうまく付けても、それだけでは信用モデルを評価しきったことにはなりません。

補正: 確率が実際と合わなければなりません

Part 4で、判別と補正は別の問題だと述べました。誰がより危険かの順序を当てることと、その人の貸し倒れ確率が正確に何パーセントかを当てることは別です。そして信用では、この補正が必須です。

なぜならPart 1で見たEL = PD × LGD × EADのためです。引当金を積み、リスクに応じて金利や限度額を設定し、期待損失を計算するには、貸し倒れ確率そのものが正しくなければなりません。順位だけ合って確率が膨らんでいると、列は正しく並べても価格を間違えて付けてしまいます。

補正を確認する方法は、目で見るのが一番速いです。顧客を予測貸し倒れ確率でいくつかの区間に分け、各区間でモデルが予測した平均確率と、実際に貸し倒れた比率を並べて打ちます。よく補正されたモデルなら二つが同じで、点が対角線の上に乗ります。対角線から外れれば、その分だけ確率がずれているということです。

ここで大事なのは、判別が良くても補正は外れることがあるという点です。AUCの高いモデルが、確率はとんでもなく膨らんでいることがあります。特にPart 3で見たように、不均衡を扱おうとサンプルを半々に取り直したり、決定木のスコアをそのまま確率のように使ったりすると補正が壊れます。だから判別指標と補正はいつも一緒に見なければなりません。数字ではBrierスコアや期待補正誤差(ECE)で要約しますが、まず目で確認する習慣がよいです。

特によく出会う原因が、学習段階の重みです。判別を引き上げようと少数クラスである貸し倒れに重みを与えたり過剰にサンプリングしたりすると(Part 3)、順位は良くなっても出力確率が実際の貸し倒れ率より膨らみます。そこで判別は判別として学習し、確率は学習が終わったあとに別途合わせます。代表的な方法が三つあります。Plattスケーリングはモデル出力をロジスティック関数で再マッピングし、isotonic回帰は単調な階段関数でより柔軟にノンパラメトリックな補正をします。そしてサンプリングや重みの比率が分かっている場合は、対数オッズにその比率だけオフセットを足して、膨らんだ確率を元の位置に戻します。Part 4で見たスコアカードのオフセットと同じ原理です。

安定性: 時間が経っても持ちこたえるか

三つ目の問いは、信用でとりわけ重要な安定性です。モデルは過去のデータで作り、未来に適用します。ところが時間が経つと、景気も、顧客層も、商品も変わります。作ったときは良かったモデルが、半年後には崩れることがあります。

これを監視する標準指標がPSI(Population Stability Index)です。開発時のスコア分布と、今入ってくる顧客のスコア分布がどれだけ変わったかを一つの数字で測ります。おおよそ0.1未満なら安定、0.1から0.25なら注意、0.25を超えると分布が大きく動いた合図なので、モデルを見直すべきです。同じやり方で変数一つひとつの分布変化(CSI、Characteristic Stability Index)も測れて、どの変数が揺れたかまで突き止めます。

PSIが入力分布の早期警報なら、結果が溜まったあとは性能そのものを測り直します。実際の貸し倒れが確定するそばからAUCとKS、そして予測貸し倒れ率と実際の貸し倒れ率を定期的に再計算して、劣化を追うわけです。ただPart 1で見たように貸し倒れはずっと後になって確定するので、結果を待つ間はスコア分布や承認率、否決理由の分布のような先行信号を先に見ます。全体は無事に見えても特定のセグメントで先に崩れることが多いので、年齢層や商品のような意味あるグループに分けても見ます。そしてこれらの指標があらかじめ定めたしきい値を超えたら、確率だけ合わせ直す再キャリブレーションで済ませるか、いっそモデルを新しく学習し直すかを決めます。

安定性は、Part 3で強調したOut-of-time検証と一体です。ランダムに混ぜた検証ではよく出ていたモデルが、時間を尊重した検証と実際の運用で崩れる理由が、まさにこの分布の移動です。だから信用モデルは一度うまく作って終わりではなく、継続して監視し続ける対象です。

ビジネスへの翻訳: カットオフとトレードオフ

指標は結局、決定に移してこそ意味があります。信用でその決定はたいていカットオフ、つまり何点から承認するかです。

カットオフを上げれば否決が増えて貸し倒れは減りますが、承認率も一緒に下がります。下げれば逆です。だから一つのスコアではなく曲線で見ます。承認率を変えながら貸し倒れ率がどう変わるか、上位何パーセントを取れば全体の貸し倒れの何パーセントを捉えられるかを、gainsやlift曲線で追います。

カットオフ一つを前に、二つを合わせて見ます。その基準で弾いたとき、全体の貸し倒れ客の何パーセントを捉えるか(再現率、recall)、そして弾いた人のうち実際に何パーセントが貸し倒れ客か(適合率、precision)です。カットオフを下げてより多く否決すれば貸し倒れ客をより多く捉えますが(recall↑)、弾いた集団に正常客も混じって適合率は下がります。逆もまた然りです。適合率と再現率で描くPR曲線が、まさにこの二つの関係で、gains曲線はそのうち再現率を承認率に対して描いたものです。だから一点だけを見ず、recallとprecisionを並べてカットオフを決めます。

既存のモデルを新しいモデルに替えるときはswap setを見ます。同じ承認率で、誰が新しく承認され(swap-in)、誰が新しく否決されるか(swap-out)を比べて、本当により良い人を受け入れ、より悪い人を弾いているかを確かめるわけです。平均の指標が一行良くなっても、いざ入れ替わる顧客層が的外れなら意味がないからです。Part 0で見た非対称なコストを思い出せば、どちらの間違いがより高くつくかによって、カットオフとトレードオフの重みが変わります。

まとめ

信用モデルの評価は、一つの数字では終わりません。三つの問いを一緒に投げます。

  • 判別: 順位をうまく付けるか。AUCとGiniがヘッドラインで、貸し倒れのような不均衡にはPR-AUCを見ます。KSは規制とスコアカードの伝統的な常連です。
  • 補正: 確率が実際の貸し倒れ率と合うか。予測と実際を区間ごとに打って目で、BrierやECEで数字で見ます。判別が良くても別に外れることがあります。
  • 安定性: 時間が経っても持ちこたえるか。PSIで分布の移動を監視します。Out-of-time検証と一体です。

一般的なMLが判別一つで終わらせるとき、信用は補正と安定性をさらに見ます。確率で価格を付け、未来に適用する仕事だからです。

次のPart 6では方向を一度変えて、相関から因果へ移ります。限度額を上げると貸し倒れが増えるか、といった問いは予測ではなく因果の問題であり、その答えは因果推論と実験から出てきます。


この記事は han-co.com で最初に公開し、韓国語と日本語で連載しています。原文とメール購読 → https://han-co.com/ja/blog/part5-evaluation-metrics

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?