Skip to content

Repository files navigation

IEEE-CIS Fraud Detection: 大規模決済データにおける不正検知モデルの構築と運用最適化

🔗 Kaggle Competition Link


1. プロジェクトの背景と目的

スーパーのレジで正当なカード決済が拒否(誤検知)されるのは顧客にとって気まずい瞬間であり、顧客体験を大きく損ないます。一方で、カード会社は背後で稼働する「不正利用防止システム」によって年間数百万ドルの被害を防いでいます。 本プロジェクトの目的は、大規模なeコマース取引データに対して機械学習モデルを適用し、「不正検知の精度(被害防止)」と「誤検知の削減(スムーズな決済体験)」を高い次元で両立させることです。


  • データ提供元: Vesta Corporation(年間180億ドル以上の取引を保証する電子決済ソリューションの先駆者)
  • 主催: IEEE Computational Intelligence Society (IEEE-CIS)

2. アプローチの特徴

1.「実務での監視コスト」や「被害金額の最小化」といったビジネス要件を想定し、取引を金額帯別に4つのセグメント(Bin0〜3)に分割。
 それぞれの不正手口の特性に応じたモデル構築を検証。
2. 時間経過に伴う不正パターンの変化を捉えるため、「時系列交差検証(TSCV:2カ月スライドウィンドウ)」を実装したが、精度面から最終的に全データで学習を行い、実質的にはエクスパンディングウィンドウ方式とした。

3. 主要な成果 (Results)

上記アプローチの他、比較検証用に単一モデルにおいてもスコア算出を行った。

モデル Public Score Private Score 実務上の特徴
全データ統合モデル(単一) 0.921 0.884 全体傾向の把握とモデルの保守・管理に優れる
金額セグメント別モデル(4分割) 0.910 0.875 監視コストの最適化と高額被害の防遏(ぼうあつ)に優れる

4. モデル比較と実務運用上の考察

当初、実際のビジネスにおける「損失金額の最小化」を目的とし、取引を金額帯別に4つのセグメント(Bin0〜3)に分割したアンサンブルモデルを構築した。その後、ベースラインとして「全データ統合の単一モデル」を用いて両者の比較検証を実施。

【スコアにおける比較】

Kaggleのスコア上は、単一モデルが僅かに上回る結果となった。 これは、セグメント別モデルにおいて「金額帯での分割」を行ったことで各セグメントの学習サンプルが減少し、局所的な過学習を起こしたためと考えられる。対して、単一モデルは全金額帯に共通する不正のサインを大局的に学習できていたことが精度向上に繋がったと思料される。

【実務運用におけるセグメント別モデルのメリット】

  1. 不正トレンドの解像度向上
    金額帯ごとの不正手段の動向やトレンド変化を、ブラックボックス化させずに可視化。
  2. 監視リソースと費用対効果(ROI)の最適化
    セグメント別に、Recall(再現率)とPrecision(適合率)の優先度を柔軟に調整可能。
    • 具体例: 件数自体は少ないが1件の被害額が甚大な「高金額帯」ではRecallを優先して監視の網を広げる。一方、件数が膨大な「低金額帯」ではPrecisionを優先し、目視確認などの人的な監視コストを抑えることで、組織全体の費用対効果を最大化できる。
      また、Privateスコアにおける単一モデルとの精度差が0.9%程度に収まったことも大きい。

【結論】

モデルの構造的シンプルさや、運用・保守のコストを最優先する場合は「単一モデル」が適している一方で、限られた監視リソースを最適に配分し、ビジネス上の被害額をコントロールする観点では「セグメント別モデル」に実務的優位性がある。

5. 総評・今後の課題

本プロジェクトを通して、局所的にセグメント化した低金額層では一定の精度が得られたものの、全体を通して「分割点の最適な線の引き方」や「特徴量の追加不足」が浮き彫りとなった。
特に、重要変数である card1 等については、どのセグメントでも一貫して寄与度が高かったため、単体としての利用だけでなく、他変数との組み合わせ(交互作用)を含めた特徴量生成をより深く検討すべきであり、初期のEDA段階で、金額や時間軸に関する特徴量を早期に追加し、軽量なモデルで試走させていれば、これらの重要性に着眼できていた。 また、セグメント別かつTSCVの併用において学習不足がおきる点についても改善案または代替案を模索していきたい。

実行環境:Google Colab(Google Driveにデータを配置して実行)
実装期間:約1週間程度


【参考画像】

** 累積分布に基づくセグメント分割(縦軸:対数変換した金額 / 横軸:件数割合) ** image
区切りとして使用したラインは
①グラフの傾きの変化が大きい下位5%ライン及び上位95%ライン
②金額増加量が正常値と不正値で交差する50%ライン
上位と下位は攻めた区切り位置にした結果、サンプル量低下による学習不足に陥った。



**時間軸グラフ(24時間周期、1週間周期、日別、月別:折れ線グラフ(不正率) / 棒グラフ(取引件数)) ** image
 初月においては取引件数が多いためか、不正率が低くなっている。



**セグメント別モデルの寄与度(Bin0:0~20$/Bin1:(20$~68.8$))/Bin2:(68.8$~445$)/Bin3(445$~ ) **
image  低額帯ではTransactionAmtが首位であるものの、寄与度は4%程度に留まった。様々な情報から分析しているため、ロバスト性の高い分析モデルと思料される。
デバイスインフォの寄与率は想定より低く、2.74%に留まった。また、24時間周期系の特徴量の寄与度が多く、低額帯では一定の時刻に不正が行われていると思料される。

image
 低中金額帯では金額の寄与度がさがり、24時間周期系の指標がランク外に落ち、代わりにカード情報やアドレス、Pメールドメインなどがランクインした。
この金額帯では不正を行う時間帯を工夫するよりも、端末から発せられる情報自体を偽装する傾向にあると仮定できる。

image
 Pメールドメインの寄与度が一位であり、以降はカード情報等の寄与度が高かった。一方で端末から発する情報は低中金額帯より少なく、代わりにD系の特徴量が増えている。

image
 高額帯において、24時間周期や金額の寄与度が再度高くなり、低額帯と類似したパターンを示している。これは、低額帯での不正が高額帯の不正に向けた試験的な行為である可能性を示唆しているが、検知率は高額帯のほうが低額帯より低い。ただし、高額帯の検知率の低さは不正サンプル数の少なさによる学習不足に起因する部分もあるため、試験的行為の可能性は残るものの仮説の域を超えない。

結果として、セグメント別×TSCV(2カ月スライドウィンドウ)の構成は精度面での課題を生んだが、金額帯ごとの不正手口の遷移を可視化するという分析上の副産物もあり、不正手口の基礎研究としては有効な結果であった。

About

IEEE-CIS Fraud Detection (AUC 0.921 / LightGBM / Amount-Segment Model Comparison)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages