TT Lab
はじめる
学ぶ 学習パス コース

保険ドメイン深化

ルールは簡単に作れる — 詰まるのは閾値だ

TT Labで続きを見る

一言でいうと

不正検知で難しいのは、ルールを思いつくことではなく、スコアをどこで区切るかを決めることです。しきい値は適合率と再現率を引き換えにするノブであり、実際にそのノブを回すのはモデルではなく、調査人員の1日の処理量です。

なぜ必要なのか

検知ルールの会議は、たいてい似たように進みます。「契約して1か月以内に事故が起きたら怪しい」「受付が2か月以上遅れたら怪しい」といった言葉が飛び交い、みんなうなずきます。ルールをコードに移すのも難しくありません。そして実行してみると、請求400件のうち190件が引っかかります。調査チームは、今四半期に10件しか見られません。

ここからが本当の仕事です。ルール1つ1つがどれだけ役に立つかを数字で測り、スコアをどこで区切るかを決め、その選択が誰にどんなコストを残すかを語れなければなりません。この過程を飛ばしたルールセットは、「怪しいものを捕まえる」という言葉だけを残し、実際には調査担当者の時間を誤検知に使わせます。

1つ先にはっきりさせておきます。このラボが扱うのは、検知器を作る側です。どんな手口がどのようにすり抜けるかは説明せず、合成データに仕込んでおいた正解表でしきい値を選ぶことに集中します。保険不正の調査と報告の権限と手続きは法で定められていて(保険業法)、データチームが作るのは判断ではなく、調査対象の一覧とその根拠です。

どう動くのか

まずルールごとに成績を出します。ルール1つが何件を引っかけ、そのうち何件が確定した事故だったかを数えれば、そのルール単独の適合率が出ます。実務では、この数字はたいてい期待外れです。単独で半分を超えるルールはまれです。そのためルール1つで判定せず、重みを付けて足し合わせます。重みには、そのルール単独の適合率と、業務担当者の判断を合わせて反映します。

次が混同行列です。しきい値を決めると、請求は4つのマスに分かれます。引っかかって実際に事故だった(TP)、引っかかったが違った(FP)、引っかからなかったのに事故だった(FN)、引っかからず違った(TN)。ここから出る指標は3つです。

정밀도(precision) = TP / (TP + FP)     걸린 것 중 맞은 비율   -> 조사역의 헛수고
재현율(recall)    = TP / (TP + FN)     사고 중 잡은 비율     -> 새어 나간 손해
F1               = 2PR / (P + R)      둘의 조화평균

定義はscikit-learnのモデル評価ドキュメントがよくまとめています。ライブラリはこのラボのイメージにありませんが、計算は割り算が数回なので、statisticsモジュールと基本的な算術で十分で、金額のように正確である必要がある値はdecimalで扱います。グループ別の集計や累積計算が必要なら、SQLiteのウィンドウ関数を身につけておくとよいです。

しきい値を1点から上げながら表を作ると、2つの指標が逆向きに動くのが一目でわかります。ここでベースレートが決定的です。400件のうち24件が事故なら、ベースレートは6パーセントです。しきい値を1点まで下げると、再現率はほぼ1に近づきますが、適合率は10パーセント付近まで崩れます。引っかかった10件のうち9件が無駄骨だという意味です。ベースレートが低い問題では、適合率は非常に速く悪化し、これはルールが悪いからではなく、算数です。

最後が上限です。F1が最も高い地点が、運用する地点ではないことのほうがはるかに多いです。調査チームが今四半期に10件だけ見られるなら、選択肢は、引っかかる件数が10件以下のしきい値だけです。その中で最もよい地点を選び、上限がなければどこが最善だったかを一緒に書いておきます。その差が、人員を追加で要請するときの根拠になります。

現場での姿

1つ目は、グループの偏りです。あるチャネルや地域がとりわけ多く引っかかるなら、2つの可能性があります。そのグループの事故の割合が実際に高いか、ルールが不正と無関係な運用上の特性を拾ったかです。電話受付の窓口は、書類が遅れて届くので受付遅延が多く、支店の顧客は、少額の請求を何回かに分けて出す慣行があります。どちらもルールには同じように引っかかります。適用率だけを見れば差別になり、適用率とそのグループのベースレートを並べてはじめて判断が立ちます。

2つ目は、誤検知のコストが見えないことです。誤検知1件は、表では数字の1ですが、顧客にとっては追加書類の依頼と支払い遅延です。適合率を「正確さ」としてだけ読むと、このコストが消えます。

3つ目は、再現性です。しきい値は、データが変われば一緒に動きます。ルールセットにバージョン番号とデータのフィンガープリントを付けておかなければ、2か月後に「あのときの判定がどのルールで出たのか」に答えられません。

実務で本当に大切なこと

次のラボですること

合成請求400件を自分で作り、ルール5つの成績をルールごとに出します。スコアを合算して判定一覧を作り、最初に提案されたしきい値で混同行列と3つの指標を手で計算します。しきい値を1点から最後まで上げながら表を作り、チャネル別の適用率とベースレートを並べて偏りを確認したうえで、調査人員の上限の中で運用するしきい値を選びます。最後に、バージョン番号とデータのフィンガープリントが付いたルールセットと、人が読む報告書を出します。