ビッグデータやIoTをいかにビジネスに活かすか? ~国内外の ... · 2017-07-31 · aca 2017年7月 例会 ビッグデータやiotをいかにビジネスに活かすか?
異常検知 - 何を探すかよく分かっていないものを見つける方法
-
Upload
mapr-technologies-japan -
Category
Data & Analytics
-
view
518 -
download
2
Transcript of 異常検知 - 何を探すかよく分かっていないものを見つける方法
®© 2014 MapR Technologies 1 © MapR Technologies, confidential
®
何を探すかよく分かっていないものを見つける方法
異常検知
2014 年 10 月 14 日
®© 2014 MapR Technologies 2
異常検知: 何を探すかよく分かっていないものを見つける方法 Ted Dunning, MapR Technologies チーフアプリケーションアーキテクト
Email [email protected] [email protected] Twitter @Ted_Dunning
Ellen Friedman, コンサルタント/コメンテータ Email [email protected] Twitter @Ellen_Friedman
®© 2014 MapR Technologies 3
MapR の厚意により e-book が入手可
http://bit.ly/1jQ9QuL
A New Look at Anomaly Detection Ted Dunning、Ellen Friedman 著、2014 年 6 月出版(オライリーより)
®© 2014 MapR Technologies 4
Practical Machine Learning シリーズ (オライリー) • 機械学習はメインストリームになりつつある • 実際のビジネス環境を考慮に入れた実用的なアプローチが必要:
– 価値創造までの時間 (Time to Value) – 限られたリソース – データの入手可能性 – システム開発・運用を行うチームの専門知識とコスト
• 費やす労力に対して大きな効果をもたらすアプローチを探す
®© 2014 MapR Technologies 9
異常検知とは何か? • まれに起きる出来事を発見することが目的
– 特に、起きるべきではない事象
• 他の人々が気づく前に問題を見つける – 特に、顧客にとっての問題を起こす前に
• なぜ難しいのか? – 異常がどのようなものか(まだ)分からない
®© 2014 MapR Technologies 14
異常検知のステップ • モデルを構築: モデルを学習させるためのデータを収集・処理する • 機械学習モデルを使用し、何が通常のパターンかを見極める • この通常パターンからどれだけ乖離したときに異常とみなすかを決定
する • 異常検知モデルを使用して新しいデータの異常を検知する
– 発見のためのクラスタリング等の手法が役に立つ
®© 2014 MapR Technologies 17
実際に何をしているか • 何かが起きたときに行動を起こしたい
(死ぬ/落ち込む/何もしないとトラブルになる)
• しかし、行動を起こすには高くつく • したがって、誤ったアラームが上がりすぎると困る • さらに、検出もれがありすぎても困る
• 警告を出すために設定する適切なしきい値は何か?
– コストとのトレードオフが必要
®© 2014 MapR Technologies 22
散発的なイベントにおける異常検知
0.0 0.2 0.4 0.6 0.8 1.0
05000
10000
15000
20000
pnorm(centroids[order(centroids)])
counts[order(centroids)]
®© 2014 MapR Technologies 23
t-Digest の利用 • Apache Mahout はオンラインパーセントタイル推定値として t-digest
を利用している – 極端に飛び出た値に対しては非常に高精度 – Mahout バージョン 0.9 の新機能
• t-digest は他でも利用可能 – streamlib の中(github 上のオープンソースライブラリ) – スタンドアローン(github および Maven Central)
• 異常検知って大したことではないのでは?
• これで問題は解決したように見える
®© 2014 MapR Technologies 25
これはどうか?
0 5 10 15
−20
24
68
10
offs
et +
noi
se +
pul
se1
+ pu
lse2
A
B
®© 2014 MapR Technologies 27
内部の事情 • モデルデルタ異常検知器は実際のところ単なる確率変数の和
– すでに知っているモデル – そして正規分布に従う誤差
• 出力(デルタ)は(おおよそ)和の分布の対数確率(実際には δ2)
• 確率分布を思い浮かべればよい
• しかし散発的なイベントがあるシステムでどのように異常検知を扱えばよいか?
®© 2014 MapR Technologies 31
通常は単なる通常ではない • 何が通常かを表す モデル が欲しい
• モデルに合致しないものを 異常 とする
• シンプルなシグナルであれば、モデルもシンプルになり得る …
• 実世界ではそれほどぴったり当てはまることはない
x ~ N(0,ε)
®© 2014 MapR Technologies 47
世界の窓 • ウィンドウを適用したシグナルのセットはオリジナルのシグナルに対
するよいモデル • クラスタリングによりプロトタイプを見つけることができる
– スパースコーディングを使った優れた手法を利用可能
• 結果は形状の辞書 • 新しいシグナルは辞書から形状を平行移動、拡大縮小、追加すること
によりエンコードできる
®© 2014 MapR Technologies 54
内部の事情 • モデルデルタ異常検知器は実際のところ単なる確率変数の和
– すでに知っているモデル
– そして正規分布に従う誤差
• 出力(デルタ)は(おおよそ)和の分布の対数確率(実際には δ2)
• 確率分布を思い浮かべればよい
®© 2014 MapR Technologies 56
eビジネスのサイトに対する散発的な Web トラフィック
トラフィックが停止もしくは遅延しているのは何らかの問題があったからかどうかを知ることは重要…
しかしサイトへの訪問の間隔は通常変動する
最後のイベントからどれくらい経過したら気にし始めるべきだろうか?
®© 2014 MapR Technologies 57
eビジネスのサイトに対する散発的な Web トラフィック
トラフィックが停止もしくは遅延しているのは何らかの問題があったからかどうかを知ることは重要…
しかしサイトへの訪問の間隔は通常変動する
そして、どうやったらあなたの会社のCEOを安心して眠らせることができるだろうか?
®© 2014 MapR Technologies 59
散発的なイベント: 通常と異常のパターンを見つける • 時間間隔は絶対時間よりもはるかに役に立つ
• カウントは確率モデルに直接結びつかない
• 時間間隔は log ρ
• これは非常に重要
®© 2014 MapR Technologies 60
イベントのストリーム(タイミング) • 様々なタイプのイベントが不規則な間隔で到着する
– ポワソン分布を仮定する
• 頻度が期待値と比較して変化したかどうかが重要 – これは間隔の変化として現れる
• できる限り早くアラートを上げたい
®© 2014 MapR Technologies 66
散発的なイベントにおける異常検知
Incoming events
99.97%-ile
AlarmΔn
Rate predictor
Rate history
t-digest
δ> tti δ�λ(ti-ti-n)
λt
®© 2014 MapR Technologies 67
散発的なイベントにおける異常検知
Incoming events
99.97%-ile
AlarmΔn
Rate predictor
Rate history
t-digest
δ> tti δ�λ(ti-ti-n)
λt
®© 2014 MapR Technologies 68
一週間ずらしてみる: シンプルなレート予測器
Nov 02 Nov 07 Nov 12 Nov 17 Nov 22 Nov 27 Dec 02
010
020
030
040
050
0
Main Page Traffic
Date
Hits
(x 1
000)
A B C D
®© 2014 MapR Technologies 69
ポアソン分布 • イベントの時間間隔は指数分布
• つまり、長い遅延は指数関数的にまれ
• もし λ がわかれば、良いしきい値を選択できる – もしくはしきい値を経験的に選択できる
Δt ~ λe−λt
P(Δt > T ) = e−λT
− logP(Δt > T ) = λT
®© 2014 MapR Technologies 70
季節性は難しい問題
Nov 17 Nov 27 Dec 07 Dec 17 Dec 27
02
46
8
Christmas Traffic
Date
Hits
/ 10
00
®© 2014 MapR Technologies 71
もう少し何かが必要 …
Nov 17 Nov 27 Dec 07 Dec 17 Dec 27
02
46
8
Christmas Traffic
Date
Hits
/ 10
00
®© 2014 MapR Technologies 72
より良いレート予測器が必要…
Incoming events
99.97%-ile
AlarmΔn
Rate predictor
Rate history
t-digest
δ> tti δ�λ(ti-ti-n)
λt
®© 2014 MapR Technologies 73
散発的なイベントのための新しいレート予測器
Predictor variables
Target variable
2008-11-23 13:00:00 681 638 491 445 614 5452008-11-23 14:00:00 755 681 638 491 705 6142008-11-23 15:00:00 887 755 681 638 687 7052008-11-23 16:00:00 964 887 755 681 842 687
Date/time
yCurrent
rate
x11 hour
ago
x22 hours
ago
x33 hours
ago
x424 hours
ago
x548 hours
ago
®© 2014 MapR Technologies 74
適応的モデリングによる予測の改善
Dec 17 Dec 19 Dec 21 Dec 23 Dec 25 Dec 27 Dec 29
02
46
8
Christmas Prediction
Date
Hits
(x 1
000)
®© 2014 MapR Technologies 75
異常検知 + 分類 à 有効な組み合わせ • 新しいデータの中で異常を検出するために異常検知モデルを利用
– 発見のためのクラスタリングのような手法が役に立つことも
• 一度システムでよくできたモデルが手に入れば、これらをタグ付けするために分類を行うことも有効
• 新しい異常を見つけるために異常検知モデルを使い続ける
®© 2014 MapR Technologies 76
まとめ(順不同) • 異常検知は確率モデルで取り扱うのがベスト • -log p は異常の評価値に変換するのに適した方法 • 適応的分位点推定 (t-digest) はしきい値の自動設定に有効
®© 2014 MapR Technologies 77
まとめ • システムごとに異なるモデルが必要 • 継続的時系列
– シグナルモデルを構築するためのスパースコーディング
• 時間イベント – ポワソン分布の変動レートに基づくレートモデル – 分離レートモデル
• ラベル付きのイベント – 言語モデル – 隠れマルコフモデル
®© 2014 MapR Technologies 79
覚えておいてください…
• 通常をモデルして、 それから異常を見つける
• 適応的しきい値のための
t-digest • 複雑なパターンのための
確率モデル
-
0 5 10 15
−20
24
68
10
offs
et +
noi
se +
pul
se1
+ pu
lse2
A
B
®© 2014 MapR Technologies 80
Dec 17 Dec 19 Dec 21 Dec 23 Dec 25 Dec 27 Dec 29
02
46
8
Christmas Prediction
Date
Hits
(x 1
000)
覚えておいてください…
• 時間間隔は散発的イベントの ための鍵
• 季節性のあるレートを予測する
ための複雑な時間シフト • 連続するイベントによりフィッ
シング攻撃が明らかになる
®© 2014 MapR Technologies 81
MapR の厚意により e-book が入手可
http://bit.ly/1jQ9QuL
A New Look at Anomaly Detection Ted Dunning、Ellen Friedman 著、2014 年 6 月出版(オライリーより)
®© 2014 MapR Technologies 82
10月に出版予定: Time Series Databases Ted Dunning、Ellen Friedman 著、2014 年 10 月出版(オライリーより)
Time Series Databases
Ted Dunning &
Ellen Friedman
New Ways to Store and Access