← Back to Home

不正取引検出のための機械学習プロジェクト

Fraud Detection with Machine Learning

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

本プロジェクトは、実業務における不正取引(Fraud)検出を目的とした機械学習モデルの開発を行ったものである。

不正取引は発生頻度が極めて低く、かつ行動パターンが複雑で時間とともに変化するため、ルールベースや単一モデルでは安定した性能を得ることが難しい。

本プロジェクトでは、業務構造に基づいた特徴量設計、分人群モデリング戦略、およびアンサンブル手法を組み合わせることで、全体および重要なユーザー群における検出性能の向上を目指した。


2. データの特徴と課題

使用した取引データには、以下のような実務特有の課題が存在する。

これらの特性を踏まえ、本プロジェクトではモデルの複雑化よりも適切なモデリング分割と特徴設計を重視した。


3. 特徴量エンジニアリング(Feature Engineering)

3.1 購入者(ユーザー)レベルの特徴

暗号化された Address 情報により購入者を一意に識別できるため、ユーザー単位での履歴分析が可能である。

基本方針:購入履歴の有無によるユーザー分割

購入履歴を持つユーザーに対しては、以下の特徴量を構築した。

これらは「行動の一貫性」を捉える特徴として、不正検出に有効である。


3.2 店舗(Merchant / Store)レベルの特徴

取引単位の情報に加え、店舗自体のリスク特性を表す特徴量を導入した。

これにより、店舗固有のリスク傾向をモデルに反映させた。


4. 分人群モデリング戦略(User Segmentation Modeling)

新規ユーザーと既存ユーザーでは、利用可能な情報量と行動の安定性が本質的に異なる。

そのため、本プロジェクトでは明示的な分人群モデリングを採用した。

4.1 モデリング方針


5. モデル選択

以下のモデルを比較・検証した。

欠損値処理、カテゴリ特徴の扱いやすさ、学習安定性を考慮し、最終的に CatBoost を中心に採用した。


6. ハイパーパラメータ調整

CatBoost に対して系統的なハイパーパラメータチューニングを実施し、重要度分析を行った。

主な知見は以下の通り。

これにより、効率的かつ解釈可能なチューニング方針を確立した。

Hyperparameter Importance Analysis
Hyperparameter Importance Analysis

7. アンサンブル学習

単一モデルに加え、AutoGluon を用いたアンサンブルを実施。


8. 実験結果(F1-score)

8.1 全体モデル

8.2 分人群別結果

ユーザー種別 改善前 改善後
購入履歴あり 0.44 0.60
購入履歴なし 0.18 0.30

結果より、以下が確認できた。


9. まとめ

本プロジェクトでは、

を組み合わせることで、実務適用可能な不正取引検出モデルを構築した。

本手法は、店舗別・地域別・時間帯別などへの拡張も容易である。