Oracle Advanced Analytic
Option 12cを使用した
不正と異常の検出
Sr. Director Product Management,
Data Mining and Advanced Analytics
Copyright © 2013, Oracle and/or its affiliates.All rights reserved. 2
連邦当局は、100名以上の医師、看護師、
医療保険担当役員を告発・逮捕
米国史上最大の医療不正事件
–
合計2億2500万ドルにのぼる、横領を目的とした
メディケアへの不正請求
「2008年から2010年までの
医療保険の不正・
悪用防止プログラムに対する連邦政府の投資
対効果は1ドルあたり平均6.80ドルに上ります
」
(保健福祉長官、Kathleen Sebelius)
医師、看護師、役員によるメディケアの不正行為
CNN International、CNN Justice Producer、Terry Frieden、2011年2月17日午後5時15分(東部標準時)
全米公認不正検査士協会
不正を検出するための20箇条
1.普通ではない行動
犯罪者がしばしば見せる変わった行動は、全体としてとらえると強力な不正の兆候になる。発覚を恐れて長期休暇や病気によ
る休暇を取得しない者もいれば、仕事が多すぎても断らない者もいるだろう。その他の兆候には、飲酒や喫煙、自己防衛の
増加、異常な怒りっぽさと疑い深さなどがある。
2.不満
頻繁に不満の声が聞こえる場合、これも不正行為の進行の現れと言える。不満は不正を引き起こす最大の原因の1つとして知ら
れており、深刻に受け止める必要がある。不満を言う者の動機は疑わしいことが多いが、一般に、その主張は詳しい調査に
値する。
3.
確認不可能な金銭
銀行勘定調整で突合せに含まれない預金や小切手は横領につながる恐れがある。確認できない預金は犯罪者が資金を持って逃
亡したことを意味する可能性があり、所在不明の小切手は偽の支払い先に支払われた可能性がある。
4.過剰な取消し
販売伝票の取消しは、販売が達成されたにもかかわらず、支払い金が犯罪者に流用され、横領を隠すために伝票が取り消され
たことを示す場合がある。
5.文書の紛失
所在の確認できない文書は不正のサインになりうる。文書が置き間違えられた可能性もあるが、監査人はなぜ文書が紛失して
おり、必要な項目を見つけるためにどのような手段が取られたかついての説明を受ける必要がある。監査人は問題の存在を
確認する前に、代替項目を選んだり、被監査者に選ばせたりすることが多い。
Copyright © 2013, Oracle and/or its affiliates.All rights reserved. 4
実際の不正例
クレジットカード明細—
不正を見つけられますか?
May 22 1:14 PM
FOOD
Monaco Café
$127.38
May 22 7:32 PM
WINE
Wine Bistro
$28.00
…
June 14 2:05 PM
MISC
Mobil Mart
$75.00
June 14 2:06 PM
MISC
Mobil Mart
$75.00
June 15 11:48 AM
MISC
Mobil Mart
$75.00
June 15 11:49 AM
MISC
Mobil Mart
$75.00
May 28 6:31 PM
WINE
Acton Shop
$31.00
May 29 8:39 PM
FOOD
Crossroads
$128.14
June 16 11:48 AM
MISC
Mobil Mart
$75.00
June 16 11:49 AM
MISC
Mobil Mart
$75.00
モナコ?
ガソリンスタンド?
すべて75ドル?
75ドル
が2回?
Turkcell
不正通信との闘い
目標
プリペイド・カードの不正使用 - 数百万ドル/年
極めて高速に膨大なデータを選別、不正対策には
スピードが重要
ソリューション
1日あたり100億の通話記録レコードの監視
1PBの準備のためにSQLを利用
低速なデータ移動プロセスのため、TurkcellのITは
DB内モデルを構築およびデプロイ
「TurkcellはOracle Exadata上で100テラバイトの圧縮データ
(圧縮していない状態では1ペタバイトの生データ)を管理して
います。Oracle Advanced Analyticsオプションのコンポーネント
であるOracle Data Miningを利用することで、私たちはその他の
どのツールよりも簡単かつ高速に大量の顧客データと通話記録
レコードを分析し、不正な電話利用を素早く検出して対抗策を
講じることができます」
Oracle
Exadata
DW/OLTP向けに最適化
された"記録システム"
Oracle
Exalytics
分析および
インメモリ・ワークロード向けに
最適化
オラクルのビッグ・データ・プラットフォーム
ストリーム
取得
体系化
検出と分析
Oracle Big Data
Appliance
Hadoop、R、NoSQLを使
用した処理向けに最適化
Oracle
Big Data
Connectors
オラクルのエンター
プライズ・パフォーマンス
管理
オラクルのビジネス・
インテリジェンス・
アプリケーション
オラクルのビジネス・
インテリジェンス・ツール
Oracle Endeca Information
Discovery
Hadoop
オープンソースR
アプリケー
ション
Oracle NoSQL
Database
Oracle Big Data
Connectors
Oracle Data
Integrator
データベ
ー
ス
内分析
Oracle
Advanced
Analytics
データウェ
アハウス
Oracle
Database
おもな機能
Oracle Advanced Analytics
スケーラブルな全社的予測分析をもっとも迅速に提供する手段
データベース内のデータ・マイニング・
アルゴリズムとオープンソースR
アルゴリズム
SQL、PL/SQL、R言語
スケーラブルな並列データベース内実行
ワークフローGUIとIDE
統合データベース・コンポーネント
エンタープライズ分析アプリケーション
Copyright © 2013, Oracle and/or its affiliates.All rights reserved. 8
Oracle Advanced Analytics
データの理解と視覚化 – サマリー統計と記述的な統計 – ヒストグラム、散布図、箱ひげ図、棒グラフ – Rグラフィック:3Dプロット、リンク・プロット、R固有の グラフ・タイプ – クロス集計 – 相関テスト(t検定、ピアソン、ANOVA) – 一部のBase SASの同等機能 データの選択、準備、変換 – 結合、表、ビュー、データ選択、データ・フィルタ、 SQL時間枠、複数スキーマ – サンプリング手法 – 再コーディング、欠落値 – 集計 – 空間データ – RからSQLへの透過層とプッシュ・ダウン 分類モデル – ロジスティック回帰(GLM) – Naive Bayes – 決定木 – サポート・ベクター・マシン(SVM) – ニューラル・ネットワーク(NN) 回帰モデル – 重回帰(GLM) – サポート・ベクター・マシン
データベース内の幅広いデータ・マイニング機能と統計機能
クラスタリング – 階層型K-means法 – 直交パーティショニング – EMアルゴリズム 異常検出 – 特殊ケースのサポート・ベクター・マシン(1クラスSVM) 関連性/マーケットバスケット分析 – アプリオリ・アルゴリズム 特徴選択と特徴削減 – 属性の重要度(最小記述長) – 主成分分析(PCA) – 非負値行列因子分解 – 特異ベクトル分解 テキスト・マイニング– ほとんどのOracle Advanced Analyticsアルゴリズムで
非構造化データ(顧客のコメント、電子メール、要約など)を サポート
トランザクション・データ
– ほとんどのOracle Advanced Analyticsアルゴリズムで
トランザクション・データ(購入トランザクション、 経時反復測定など)をサポート
Rパッケージ - オープンソース実行機能
– 豊富なRのCRANパッケージを、RからSQLへの透過層や組込み
金融部門/会計/経費
異常検出
単純な不正検出手法:1クラスSVM
Copyright © 2013, Oracle and/or its affiliates.All rights reserved. 10
不正予測デモ
drop table CLAIMS_SET;
exec dbms_data_mining.drop_model('CLAIMSMODEL');
create table CLAIMS_SET (setting_name varchar2(30), setting_value varchar2(4000)); insert into CLAIMS_SET values ('ALGO_NAME','ALGO_SUPPORT_VECTOR_MACHINES'); insert into CLAIMS_SET values ('PREP_AUTO','ON');
commit;
begin
dbms_data_mining.create_model('CLAIMSMODEL', 'CLASSIFICATION',
'CLAIMS', 'POLICYNUMBER', null, 'CLAIMS_SET');
end;
/
-- Top 5 most suspicious fraud policy holder claims select * from
(select POLICYNUMBER, round(prob_fraud*100,2) percent_fraud, rank() over (order by prob_fraud desc) rnk from
(select POLICYNUMBER, prediction_probability(CLAIMSMODEL, '0' using *) prob_fraud from CLAIMS
where PASTNUMBEROFCLAIMS in ('2to4', 'morethan4'))) where rnk <= 5
order by percent_fraud desc;
自動化されたデータベース内分析手法
POLICYNUMBER PERCENT_FRAUD RNK --- --- ---6532 64.78 1 2749 64.17 2 3440 63.22 3 654 63.1 4 12650 62.36 5自動化された月次"アプリケーション“
次を追加するだけです。
Create
View CLAIMS2_30
As
Select * from CLAIMS2
Oracle Advanced Analyticsを選ぶ理由
エンタープライズ向けの予測分析アプリケー
ションを最短期間で提供
OBIEEとSQL問合せを使用する任意の
アプリケーションの統合
パフォーマンスとスケーラビリティ
Oracle Databaseの性能とスケーラビリティを
活用
最小限の総所有コスト
差別化機能
Copyright © 2013, Oracle and/or its affiliates.All rights reserved. 12
実際の不正例
クレジットカード明細—
不正を見つけられますか?
May 22 1:14 PM
FOOD
Monaco Café
$127.38
May 22 7:32 PM
WINE
Wine Bistro
$28.00
…
June 14 2:05 PM
MISC
Mobil Mart
$75.00
June 14 2:06 PM
MISC
Mobil Mart
$75.00
June 15 11:48 AM
MISC
Mobil Mart
$75.00
June 15 11:49 AM
MISC
Mobil Mart
$75.00
May 28 6:31 PM
WINE
Acton Shop
$31.00
May 29 8:39 PM
FOOD
Crossroads
$128.14
June 16 11:48 AM
MISC
Mobil Mart
$75.00
June 16 11:49 AM
MISC
Mobil Mart
$75.00
モナコ?
ガソリンスタンド?
すべて75ドル?
75ドル
が2回?
潜在的な不正を検出するための複数のアプローチ
1.
異常検出(1クラスSVM)
•
フィードバック・ループを追加して徐々に入力訓練データの質を高め、
モデル・パフォーマンスを改善
2.
分類
•
訓練/学習に使用できる不正サンプルが多い場合(25%以上)
3.
クラスタリング
•
特定のクラスタに当てはまる確率があまり高くないか、クラスタの外れ値/境界にある
レコードを発見
4.
3つ目と1つ目の組合せ(3の次に1)
•
レコードを事前にクラスタリングして"類似"セグメントを作成してから、各クラスタに
異常検出モデルを適用
Copyright © 2013, Oracle and/or its affiliates.All rights reserved. 14
課題:異常の発見
複数の属性を考慮
1つだけでは
"正常"に見えるかも
しれない
まとめてとらえる
ことで、レコード
の異常が明らかに
なる
"
異なる
"要素を探す
X
1
X
2
X
3
X
4
X
1X
2X
3X
4分類
関連性
ルール
属性の
重要度
•
従来の統計手法
•
"ルール"と透明性に対して一般的
•
簡単かつ高速で高いパフォーマンス
•
新しく多用途で高いパフォーマンス
•
最小記述長(MDL)
•
属性の削減
•
データ・ノイズの削減
•
階層型K-means法
•
顧客のセグメント化
•
アプリオリ
•
マーケットバスケット分析
•
リンク分析
•
重回帰(GLM)
•
サポート・ベクター・マシン
•
従来の統計手法
•
新しく多用途で高いパフォーマンス
回帰
•
ロジスティック回帰(GLM)
•
決定木
•
Naïve Bayes
•
サポート・ベクター・マシン
•
1クラスのサポート・ベクター・マシン
•
対象分野のサンプルが足りない場
合の異常検出と不正
異常検出
A1 A2 A3 A4 A5 A6 A7Oracle Advanced Analytics
Copyright © 2013, Oracle and/or its affiliates.All rights reserved. 16
Oracle Advanced Analytics
データの理解と視覚化 – サマリー統計と説明的な統計 – ヒストグラム、散布図、箱ひげ図、棒グラフ – Rグラフィック:3Dプロット、リンク・プロット、R固有の グラフ・タイプ – クロス集計 – 相関テスト(t検定、ピアソン、ANOVA) – 一部のBase SASの同等機能 データの選択、準備、変換 – 結合、表、ビュー、データ選択、データ・フィルタ、SQL時間、 複数スキーマ – サンプリング手法 – 再コーディング、欠落値 – 集計 – 空間データ – RからSQLへの透過層とプッシュ・ダウン 分類モデル – ロジスティック回帰(GLM) – Naive Bayes – 決定木 – サポート・ベクター・マシン(SVM) – ニューラル・ネットワーク(NN) 回帰モデル – 重回帰(GLM)
サポート・ベクター・マシン
データベース内の幅広いデータ・マイニング機能と統計機能
クラスタリング – 階層型K-means法 – 直交パーティショニング – EMアルゴリズム 異常検出 – 特殊ケースのサポート・ベクター・マシン(1クラスSVM) 関連性/マーケットバスケット分析 – アプリオリ・アルゴリズム 特徴選択と特徴削減 – 属性の重要度(最小記述長) – 主成分分析(PCA) – 非負値行列因子分解 – 特異ベクトル分解 テキスト・マイニング– ほとんどのOracle Advanced Analyticsアルゴリズムで非構造化
データ(顧客のコメント、電子メール、要約など)をサポート トランザクション・データ
– ほとんどのOracle Advanced Analyticsアルゴリズムで
トランザクション・データ(購入トランザクション、 経時反復測定など)をサポート
Rパッケージ - オープンソース実行機能
– 豊富なRのCRANパッケージを、RからSQLへの透過層や組込み
Oracle Data MinerのGUI
使いやすさ
–
Oracle Data MinerのGUIを使用した
データ分析
–
"ワークフロー"パラダイム
高性能
–
さまざまなアルゴリズムと
データ変換
–
100%データベース内で実行
–
モデルの構築、評価、適用
自動化とデプロイ
SQL Developer 4.0
の拡張機能:OTNから無料でダウンロード可能
Copyright © 2013, Oracle and/or its affiliates.All rights reserved. 18
違法な税申告に対する監査選別
シンプルなOracle Data
Miningの予測モデル
–
2011年の履歴データに
基づき、決定木を
使用して不適合な
納税申告を分類
(はい/いいえ)
違法な税申告に対する監査選別
デモに使用した
Copyright © 2013, Oracle and/or its affiliates.All rights reserved. 20
違法な税申告に対する監査選別
法律違反の可能性のある
税申告パターンを発見
不正および違法の例
法律違反の可能性に基づく経費の識別とドリルスルー
Oracle Advanced Analytics
データ・マイニング・
モデルが、経費報告の
不正の可能性とその他の
重要な兆候を提供
Copyright © 2013, Oracle and/or its affiliates.All rights reserved. 22
Oracle Advanced Analytics
デスクトップ上のユーザーRエンジン
•スケーラブルなデータベース内実行のため、
R-SQL透過フレームワークが
Rファンクションをインターセプト
•データ変換、統計ファンクション、
高度な分析に対応したファンクション・
インターセプタ
•標準Rと同様のフロー制御と
インタラクティブな結果のグラフィカル表示
•Rスクリプト全体をデータベースに
よる実行向けに送信
データベース・コンピューティング
・エンジン
•大規模データセットに対応した
スケーラビリティ
•表、ビュー、外部表、データへの
DBリンクを介したアクセス
•データベースのSQL並列処理を利用
•新規および既存のデータベース内
統計機能とデータ・マイニング機能を
利用
Rエンジン
その他のR
パッケージ
Oracle R Enterpriseパッケージ
Oracle DBによって生成されたRエンジン
•
データベースは複数のRエンジンを生成して、
データベース管理の並列処理を実行可能
•
生成されたRエンジンへの効率的なデータ転送
•
マップリデュース方式のアルゴリズムと
アプリケーションをエミュレート
•
Rスクリプトの"完全自動"実行を実現
1
2
Oracle Database
ユーザー表
SQL
結果
Rエンジン
その他のR
パッケージ
Oracle R Enterpriseパッケージ
R
結果
3
?x
R
オープンソースR Enterpriseコンピューティング・エンジン
R
Oracle Adaptive Access Manager
信頼を前提とした検証
グローバルなODM
クラスタリング・モデルが
典型的な行動/パターン/
プロファイルを識別
各ユーザーを複数の
クラスタ・ノードに
割り当てることで、全体で
85%の典型的な行動/
プロファイルを取得
ODMモデルのリアルタイム
"スコアリング"により、
複雑なOracle Advanced
Analyticsリアルタイム・
Copyright © 2013, Oracle and/or its affiliates.All rights reserved. 24