[基礎] Part 6. 予測を超えて介入へ:因果推論と実験
信用審査は予測をするだけでなく、結果に介入します。限度額を上げると貸し倒れが増えるのか、といった問いを相関で答えると、方向から間違えます。実験と準実験、回帰不連続、アップリフトまで、信用の因果推論を実務の言葉で整理しました。
ここまでこの連載は、その大半が「誰が危険か」をうまく当てる話でした。良い特徴量を作り、決定木でスコアを出し、そのスコアがうまく補正されているかを検証する。ところが実務でいざとなると、もっと難しくてお金が大きく懸かる問いは、少し違います。
限度額を上げると貸し倒れは増えるでしょうか。延滞客に督促をすると回収は増えるでしょうか。金利を下げると離脱は減るでしょうか。
これは予測ではなく因果についての問いです。Part 0でこの分野の核心を「観測されない反事実を推定する仕事」と整理しましたが、その反事実が正面から登場するのがまさにここです。そしてこの問いに答えられるようになった瞬間、審査データサイエンティストは「誰が危険かを当てる人」から「政策を設計する人」へと上がります。
予測と因果は違う問いです
予測はこう問います。この顧客が貸し倒れる確率はいくらか。因果はこう問います。この顧客の限度額を上げると、その確率がどれだけ変わるか。二つはまったく違う問いで、答える方法も違います。
因果が難しい根本の理由は、一人の人から二つの結果を同時に見ることはできない、という点にあります。限度額を上げたこの顧客が、もし上げなかったらどうだったかは、永遠に観測されません。私たちはいつも半分だけの世界を見ています。Part 0で、否決した顧客の結果を永遠に知り得ないと述べた話の一般形です。
問題は、信用において私たちが下す決定そのものが結果に介入する、という点です。承認するか、限度額をいくらにするか、金利をいくらにするかが、その顧客の貸し倒れに直接影響します。ですから私たちが手にしているデータは、じっと観察していた世界ではなく、私たちがすでに介入して作り出した世界です。
ここでよくある落とし穴が出てきます。データを見ると、限度額が高い顧客ほど貸し倒れが少ない。だから限度額を上げれば貸し倒れは減るでしょうか。いいえ。そもそも信用度が良さそうな顧客に高い限度額を与えただけです。限度額が貸し倒れを下げたのではなく、良い信用度という隠れた原因が、高い限度額と低い貸し倒れを同時に作り出したのです。このように二つの結果をともに動かす隠れた原因を交絡変数といいます。(これは応用編で公開データを使って直接確かめました。)
相関を因果と取り違えて政策を立てると、データがいくら多くても方向が間違います。これが信用において因果推論が選択ではなく必須である理由です。
ゴールドスタンダードは実験です
反事実を推測ではなく事実にする方法は、実はシンプルです。介入をランダムにすることです。対象顧客をランダムに二つのグループに分け、片方だけ限度額を上げ、もう片方はそのままにします。二つのグループはランダムなので、信用度も所得も平均的に同じです。ですから後で貸し倒れ率や収益に開く差は、ひとえに限度額のせいです。これがランダム化比較試験(RCT)で、因果推論のゴールドスタンダードです。
信用にはこの実験の特別な形が一つあります。本来なら否決していた申込者のうち少数を、あえてランダムに承認してみることです。Part 0とrejectkitの回で、否決した顧客の本当の結果は永遠に分からないと述べましたが、その反事実を唯一事実に変える方法がこれです。リジェクト推論は仮定でその空白を推測しますが、実験は答えをそのまま観測させてくれます。ですからリジェクト推論の最も信頼できる解法が、結局は小規模なランダム承認だと申し上げたわけです。
もちろんタダではありません。悪い顧客をあえて承認するのは損失ですし、ランダムな限度額の引き上げもリスクを抱えて進みます。ですから実験は大きく張るのではなく、小さく、統制された設計で行います。標本をどれだけ取れば差を統計的に捉えられるか、ランダム化を顧客単位でやるか支店単位でやるか、損失がどこを超えたら止めるか、そして貸し倒れラベルが12か月から24か月後にようやく確定するという遅延まで、あらかじめ設定してから始めるべきです。
実験ができないとき: 準実験
実験がいつも可能なわけではありません。遅すぎたり、費用が大きかったり、倫理的あるいは法的に困難なことが多いです。そんなときは、すでに溜まった観測データから因果を最大限に近似します。これを準実験といいます。
一つ目、傾向スコアと逆確率重み付け(IPW)です。介入を受けた集団と受けなかった集団が、観測された特徴で似るようにそろえてやる方法です。Part 2で見たバイアス補正や、rejectkitのreweightingと同じ論理です。良い信用度の顧客に限度額を多めに与えていたなら、似た信用度どうしで組んで比較するわけです。
二つ目、回帰不連続(RDD)です。これは信用でとりわけ美しく当てはまります。審査にはカットオフ点があります。630点がラインなら、631点と629点の申込者は事実上同じ人なのに、一方だけが承認されます。その境界を挟んで結果がぽんとジャンプするなら、そのジャンプこそが承認という介入の因果効果です。審査カットオフがそれ自体で自然な実験場になるわけです。
このほかにも、政策が変わった前後を比較する差分の差分(DID)や、介入だけに影響を与える外部要因をてこに使う操作変数(IV)のような道具が箱にはまだあります。ただ準実験はすべて、観測されない交絡はないといった類の仮定に寄りかかります。ですから順序は明確です。可能なら実験、無理なら準実験を使うが、どんな仮定の上に立っているかを必ず明かすことです。そしてその仮定が少し揺れたときに結論がひっくり返るかを、感度分析でともに確認するのが正直な態度です。
Pythonにはこの過程を助ける道具がいくつかあります。DoWhyは因果を「仮定を明示し、推定し、その仮定が間違っていたら結果がどれだけ揺れるかを反証までしてみる」流れで扱わせてくれます。仮定をコードで書いておいて、自分で叩いてみさせるわけで、先に述べた感度の確認とよく合います。EconMLは処置効果、とくに人ごとに異なる異質的効果(すぐ下のアップリフト)を推定する最新の手法、たとえばダブル機械学習やCausal Forestを集めたライブラリです。CausalMLはアップリフトモデリングと対象選定に特化していて、メタラーナーから後で出てくるQini評価まで一度に扱います。
平均を超えて: アップリフト
ここまでは、限度額を上げると平均的に収益が増えるか、を問いました。ところが実務の本当の問いはもう一歩進みます。誰に上げるべきか。
限度額を上げてもどのみち収益が増えない顧客を対象に限度額を上げるのは、リスクだけ増やす無駄です。逆に、限度額がなくて使えなかった優良顧客に上げれば、増分収益が生まれます。このように介入がその人に追加で作り出す差を、個人単位で推定するのがアップリフトモデリングです。単に反応する人を予測することとは違います。介入がなくてもどのみちやる人ではなく、介入のせいで変わる人を探すのですから。
信用での使いどころは明確です。増額が増分収益を生む顧客だけを選んで上げ、督促が実際に回収を増やす延滞者にだけ介入します。手法としてはT-learnerやX-learner、Causal Forest、アップリフト木のようなものがあります。
一つ注意があります。アップリフトは普通のAUCで評価してはいけません。私たちが当てようとしているのが貸し倒れの有無ではなく介入の効果なので、Qini曲線やUplift@kのような専用の指標で見なければなりません。
違いはこうです。AUCは、この人が貸し倒れるか反応するかをどれだけうまく順位付けするかを測ります。しかしアップリフトが求めているのは、介入がこの人をどれだけ変えるかの順位なので、そもそも測る対象が違います。しかも一人の人から介入した結果と介入しなかった結果を同時に見ることはできないので、個人別の正解そのものが存在せず、普通の指標のように一人ひとり採点する答案がそもそもありません。そこでQini曲線はこれをグループで迂回します。モデルが高くスコアを付けた顧客から順に介入していくとき、処置群と対照群の結果の差が、ランダムに選ぶときよりどれだけ速く積み上がるかを累積で描くのです。Uplift@kはそのうち上位k%まで行ったときに積み上がった増分です。ひとことで言えば、AUCが「誰が貸し倒れるかをうまく当てるか」を測るなら、Qiniは「自分が選んだ順に介入したら、何も介入しないよりも実際にどれだけ多く稼いだか」を測ります。
Part 5で、目的が違えば指標も変わらなければならないと述べましたが、ここがその原則の最も劇的に当てはまる地点です。
つまり、この分野の実力とは
予測は入場券で因果が実力だ、という言葉をまた口にすることになります。審査で私たちが下すすべての決定は結果に介入する行為であり、その効果を正直に推定できてこそ政策を設計できます。
順序を整理するとこうです。可能なら小さくとも実験を仕掛けます。それが無理なら準実験で近似するが、どんな仮定の上にあるかを明かします。とくに信用には審査カットオフという自然な実験場があるので、回帰不連続を惜しくも放置しないでください。そして平均効果を超えて、誰に介入するかをアップリフトで選びます。
この考え方がリジェクト推論の根本の解法であり、限度額政策と回収戦略と価格決定の土台になります。次の回では、こうして作ったモデルと政策をどう検証し、監査し、運用するのか、ガバナンスとモニタリングへとつなげていきます。
限度額の因果の問いを公開データで実際にバイアス除去してみた記録は、下の関連記事の応用編にありますので、概念を手で確かめたい方はそちらも合わせてご覧いただければと思います。