Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

異常検知 - 何を探すかよく分かっていないものを見つける方法

5,852 views

Published on

異常検知は何を探すかよく分かっていないものを見つけるための技術です。ここでは、継続的なシグナルやWebトラフィックを含む様々な問題に対する確率モデルの背景と構築方法を解説します。理論と実際の両方を織り交ぜ、現実的に実現可能な方法を探ります。Ted DunningによるNew York Machine Learning Meetupの講演より。

Published in: Data & Analytics
  • Be the first to comment

異常検知 - 何を探すかよく分かっていないものを見つける方法

  1. 1. ® © 2014 MapR Technologies 1 © MapR Technologies, confidential ® 何を探すかよく分かっていないもの を見つける方法
 異常検知 2014 年 10 月 14 日
  2. 2. ® © 2014 MapR Technologies 2 異常検知: 何を探すかよく分かっていないものを見つける方法 Ted Dunning, MapR Technologies チーフアプリケーションアーキテクト Email tdunning@mapr.com tdunning@apache.org Twitter @Ted_Dunning Ellen Friedman, コンサルタント/コメンテータ Email ellenf@apache.org Twitter @Ellen_Friedman
  3. 3. ® © 2014 MapR Technologies 3 MapR の厚意により e-book が入手可 http://bit.ly/1jQ9QuL A New Look at Anomaly Detection Ted Dunning、Ellen Friedman 著、2014 年 6 月出版(オライリーより)
  4. 4. ® © 2014 MapR Technologies 4 Practical Machine Learning シリーズ (オライリー) •  機械学習はメインストリームになりつつある •  実際のビジネス環境を考慮に入れた実用的なアプローチが必要: –  価値創造までの時間 (Time to Value) –  限られたリソース –  データの入手可能性 –  システム開発・運用を行うチームの専門知識とコスト •  費やす労力に対して大きな効果をもたらすアプローチを探す
  5. 5. ® © 2014 MapR Technologies 5 異常検知!
  6. 6. ® © 2014 MapR Technologies 6 誰が異常検知を必要としているか? スマートメーターを利用 している公益事業提供者
  7. 7. ® © 2014 MapR Technologies 7 誰が異常検知を必要としているか? 工場の組立ラインからの フィードバック
  8. 8. ® © 2014 MapR Technologies 8 誰が異常検知を必要としているか? 通信ネットワークの データトラフィックの監視
  9. 9. ® © 2014 MapR Technologies 9 異常検知とは何か? •  まれに起きる出来事を発見することが目的 –  特に、起きるべきではない事象 •  他の人々が気づく前に問題を見つける –  特に、顧客にとっての問題を起こす前に •  なぜ難しいのか? –  異常がどのようなものか(まだ)分からない
  10. 10. ® © 2014 MapR Technologies 10 異常を見つけてください
  11. 11. ® © 2014 MapR Technologies 11 異常を見つけてください かなり異常に 見える
  12. 12. ® © 2014 MapR Technologies 12 異常を見つけてください 本当の異常の方、ご起 立いただけますか?
  13. 13. ® © 2014 MapR Technologies 13 基本となる考え方:
 まず “正常な状態” を見つける!
  14. 14. ® © 2014 MapR Technologies 14 異常検知のステップ •  モデルを構築: モデルを学習させるためのデータを収集・処理する •  機械学習モデルを使用し、何が通常のパターンかを見極める •  この通常パターンからどれだけ乖離したときに異常とみなすかを決定 する •  異常検知モデルを使用して新しいデータの異常を検知する –  発見のためのクラスタリング等の手法が役に立つ
  15. 15. ® © 2014 MapR Technologies 15 異常のアラートを設定するのはどれほど難しいか? グレーのデータが通常の出来事の値、x が異常値 しきい値をどこに設定するか?
  16. 16. ® © 2014 MapR Technologies 16 基本となる考え方:
 適応的しきい値の設定!
  17. 17. ® © 2014 MapR Technologies 17 実際に何をしているか •  何かが起きたときに行動を起こしたい (死ぬ/落ち込む/何もしないとトラブルになる) •  しかし、行動を起こすには高くつく •  したがって、誤ったアラームが上がりすぎると困る •  さらに、検出もれがありすぎても困る •  警告を出すために設定する適切なしきい値は何か? –  コストとのトレードオフが必要
  18. 18. ® © 2014 MapR Technologies 18 もう一度見てみましょう
  19. 19. ® © 2014 MapR Technologies 19 もう一度見てみましょう 99.9 パーセンタイル
  20. 20. ® © 2014 MapR Technologies 20 新しいアルゴリズム: t-digest!
  21. 21. ® © 2014 MapR Technologies 21 オンライン サマライザ 99.9 パーセンタイル t x > t ? アラーム ! x そんなの簡単でしょう?
  22. 22. ® © 2014 MapR Technologies 22 散発的なイベントにおける異常検知 0.0 0.2 0.4 0.6 0.8 1.0 05000100001500020000 pnorm(centroids[order(centroids)]) counts[order(centroids)]
  23. 23. ® © 2014 MapR Technologies 23 t-Digest の利用 •  Apache Mahout はオンラインパーセントタイル推定値として t-digest を利用している –  極端に飛び出た値に対しては非常に高精度 –  Mahout バージョン 0.9 の新機能 •  t-digest は他でも利用可能 –  streamlib の中(github 上のオープンソースライブラリ) –  スタンドアローン(github および Maven Central) •  異常検知って大したことではないのでは? •  これで問題は解決したように見える
  24. 24. ® © 2014 MapR Technologies 24 もう実装済み? Etsy Skyline?
  25. 25. ® © 2014 MapR Technologies 25 これはどうか? 0 5 10 15 −20246810 offset+noise+pulse1+pulse2 A B
  26. 26. ® © 2014 MapR Technologies 26 モデルデルタ異常検知 オンライン サマライザ δ > t ? 99.9 パーセンタイル t アラーム ! モデル - + δ
  27. 27. ® © 2014 MapR Technologies 27 内部の事情 •  モデルデルタ異常検知器は実際のところ単なる確率変数の和 –  すでに知っているモデル –  そして正規分布に従う誤差 •  出力(デルタ)は(おおよそ)和の分布の対数確率(実際には δ2) •  確率分布を思い浮かべればよい •  しかし散発的なイベントがあるシステムでどのように異常検知を扱え ばよいか?
  28. 28. ® © 2014 MapR Technologies 28 異常を見つけてください 異常?
  29. 29. ® © 2014 MapR Technologies 29 おそらく違う !
  30. 30. ® © 2014 MapR Technologies 30 ウォーリーをさがせ ! これが本当の異常
  31. 31. ® © 2014 MapR Technologies 31 通常は単なる通常ではない •  何が通常かを表す モデル が欲しい •  モデルに合致しないものを 異常 とする •  シンプルなシグナルであれば、モデルもシンプルになり得る … •  実世界ではそれほどぴったり当てはまることはない x ~ N(0,ε)
  32. 32. ® © 2014 MapR Technologies 32 ウィンドウを適用する
  33. 33. ® © 2014 MapR Technologies 33 ウィンドウを適用する
  34. 34. ® © 2014 MapR Technologies 34 ウィンドウを適用する
  35. 35. ® © 2014 MapR Technologies 35 ウィンドウを適用する
  36. 36. ® © 2014 MapR Technologies 36 ウィンドウを適用する
  37. 37. ® © 2014 MapR Technologies 37 ウィンドウを適用する
  38. 38. ® © 2014 MapR Technologies 38 ウィンドウを適用する
  39. 39. ® © 2014 MapR Technologies 39 ウィンドウを適用する
  40. 40. ® © 2014 MapR Technologies 40 ウィンドウを適用する
  41. 41. ® © 2014 MapR Technologies 41 ウィンドウを適用する
  42. 42. ® © 2014 MapR Technologies 42 ウィンドウを適用する
  43. 43. ® © 2014 MapR Technologies 43 ウィンドウを適用する
  44. 44. ® © 2014 MapR Technologies 44 ウィンドウを適用する
  45. 45. ® © 2014 MapR Technologies 45 ウィンドウを適用する
  46. 46. ® © 2014 MapR Technologies 46 ウィンドウを適用する
  47. 47. ® © 2014 MapR Technologies 47 世界の窓 •  ウィンドウを適用したシグナルのセットはオリジナルのシグナルに対 するよいモデル •  クラスタリングによりプロトタイプを見つけることができる –  スパースコーディングを使った優れた手法を利用可能 •  結果は形状の辞書 •  新しいシグナルは辞書から形状を平行移動、拡大縮小、追加すること によりエンコードできる
  48. 48. ® © 2014 MapR Technologies 48 最もよく現れる形状(心電図)
  49. 49. ® © 2014 MapR Technologies 49 再構成されたシグナル オリジナル のシグナル 再構成された シグナル 再構成エラー < 1 bit / サンプル
  50. 50. ® © 2014 MapR Technologies 50 異常 1次元の異常検出のための従 来の手法は再構成エラーに対 して有効
  51. 51. ® © 2014 MapR Technologies 51 異常をクローズアップ あって欲しくない心臓の動き モデルが予期していない心臓 の動き
  52. 52. ® © 2014 MapR Technologies 52 異なる種類の異常
  53. 53. ® © 2014 MapR Technologies 53 モデルデルタ異常検知 オンライン サマライザ δ > t ? 99.9 パーセンタイル t アラーム ! モデル - + δ
  54. 54. ® © 2014 MapR Technologies 54 内部の事情 •  モデルデルタ異常検知器は実際のところ単なる確率変数の和 –  すでに知っているモデル –  そして正規分布に従う誤差 •  出力(デルタ)は(おおよそ)和の分布の対数確率(実際には δ2) •  確率分布を思い浮かべればよい
  55. 55. ® © 2014 MapR Technologies 55 散発的なイベントにおける異常!
  56. 56. ® © 2014 MapR Technologies 56 eビジネスのサイトに対する散発的な Web トラフィック トラフィックが停止もしくは遅延しているのは何 らかの問題があったからかどうかを知ることは 重要… しかしサイトへの訪問の間隔は通常 変動する 最後のイベントからどれくらい経過し たら気にし始めるべきだろうか?
  57. 57. ® © 2014 MapR Technologies 57 eビジネスのサイトに対する散発的な Web トラフィック トラフィックが停止もしくは遅延しているのは何 らかの問題があったからかどうかを知ることは 重要… しかしサイトへの訪問の間隔は通常 変動する そして、どうやったらあなたの会社の CEOを安心して眠らせることができる だろうか?
  58. 58. ® © 2014 MapR Technologies 58 基本的な考え方:
 イベントの時間間隔は評価可能な
 役立つものに変換することができる!
  59. 59. ® © 2014 MapR Technologies 59 散発的なイベント: 通常と異常のパターンを見つける •  時間間隔は絶対時間よりもはるかに役に立つ •  カウントは確率モデルに直接結びつかない •  時間間隔は log ρ •  これは非常に重要
  60. 60. ® © 2014 MapR Technologies 60 イベントのストリーム(タイミング) •  様々なタイプのイベントが不規則な間隔で到着する –  ポワソン分布を仮定する •  頻度が期待値と比較して変化したかどうかが重要 –  これは間隔の変化として現れる •  できる限り早くアラートを上げたい
  61. 61. ® © 2014 MapR Technologies 61 イベント時間を異常値に変換 99.9 パーセンタイル 99.99パーセンタイル
  62. 62. ® © 2014 MapR Technologies 62 しかし現実にはイベントの
 発生頻度はしばしば変化する!
  63. 63. ® © 2014 MapR Technologies 63 時間間隔は散発的なイベントをモデリングするための鍵
  64. 64. ® © 2014 MapR Technologies 64 モデルに従いスケールされた間隔が問題を解決する
  65. 65. ® © 2014 MapR Technologies 65 モデルデルタ異常検知 オンライン サマライザ δ > t ? 99.9 パーセンタイル t アラーム ! モデル - + δ log p
  66. 66. ® © 2014 MapR Technologies 66 散発的なイベントにおける異常検知 Incoming events 99.97%-ile Alarm Δn Rate predictor Rate history t-digest δ>t ti δ λ(ti-ti-n) λ t
  67. 67. ® © 2014 MapR Technologies 67 散発的なイベントにおける異常検知 Incoming events 99.97%-ile Alarm Δn Rate predictor Rate history t-digest δ>t ti δ λ(ti-ti-n) λ t
  68. 68. ® © 2014 MapR Technologies 68 一週間ずらしてみる: シンプルなレート予測器 Nov 02 Nov 07 Nov 12 Nov 17 Nov 22 Nov 27 Dec 02 0100200300400500 Main Page Traffic Date Hits(x1000) A B C D
  69. 69. ® © 2014 MapR Technologies 69 ポアソン分布 •  イベントの時間間隔は指数分布 •  つまり、長い遅延は指数関数的にまれ •  もし λ がわかれば、良いしきい値を選択できる –  もしくはしきい値を経験的に選択できる Δt ~ λe−λt P(Δt > T) = e−λT −logP(Δt > T) = λT
  70. 70. ® © 2014 MapR Technologies 70 季節性は難しい問題 Nov 17 Nov 27 Dec 07 Dec 17 Dec 27 02468 Christmas Traffic Date Hits/1000
  71. 71. ® © 2014 MapR Technologies 71 もう少し何かが必要 … Nov 17 Nov 27 Dec 07 Dec 17 Dec 27 02468 Christmas Traffic Date Hits/1000
  72. 72. ® © 2014 MapR Technologies 72 より良いレート予測器が必要… Incoming events 99.97%-ile Alarm Δn Rate predictor Rate history t-digest δ>t ti δ λ(ti-ti-n) λ t
  73. 73. ® © 2014 MapR Technologies 73 散発的なイベントのための新しいレート予測器 Predictor variables Target variable 2008-11-23 13:00:00 681 638 491 445 614 545 2008-11-23 14:00:00 755 681 638 491 705 614 2008-11-23 15:00:00 887 755 681 638 687 705 2008-11-23 16:00:00 964 887 755 681 842 687 Date/time y Current rate x1 1 hour ago x2 2 hours ago x3 3 hours ago x4 24 hours ago x5 48 hours ago
  74. 74. ® © 2014 MapR Technologies 74 適応的モデリングによる予測の改善 Dec 17 Dec 19 Dec 21 Dec 23 Dec 25 Dec 27 Dec 29 02468 Christmas Prediction Date Hits(x1000)
  75. 75. ® © 2014 MapR Technologies 75 異常検知 + 分類 à 有効な組み合わせ •  新しいデータの中で異常を検出するために異常検知モデルを利用 –  発見のためのクラスタリングのような手法が役に立つことも •  一度システムでよくできたモデルが手に入れば、これらをタグ付けす るために分類を行うことも有効 •  新しい異常を見つけるために異常検知モデルを使い続ける
  76. 76. ® © 2014 MapR Technologies 76 まとめ(順不同) •  異常検知は確率モデルで取り扱うのがベスト •  -log p は異常の評価値に変換するのに適した方法 •  適応的分位点推定 (t-digest) はしきい値の自動設定に有効
  77. 77. ® © 2014 MapR Technologies 77 まとめ •  システムごとに異なるモデルが必要 •  継続的時系列 –  シグナルモデルを構築するためのスパースコーディング •  時間イベント –  ポワソン分布の変動レートに基づくレートモデル –  分離レートモデル •  ラベル付きのイベント –  言語モデル –  隠れマルコフモデル
  78. 78. ® © 2014 MapR Technologies 78 なぜ異常検知を使うのか?
  79. 79. ® © 2014 MapR Technologies 79 覚えておいてください… •  通常をモデルして、 それから異常を見つける •  適応的しきい値のための t-digest •  複雑なパターンのための 確率モデル - 0 5 10 15 −20246810 offset+noise+pulse1+pulse2 A B
  80. 80. ® © 2014 MapR Technologies 80 Dec 17 Dec 19 Dec 21 Dec 23 Dec 25 Dec 27 Dec 29 02468 Christmas Prediction Date Hits(x1000) 覚えておいてください… •  時間間隔は散発的イベントの ための鍵 •  季節性のあるレートを予測する ための複雑な時間シフト •  連続するイベントによりフィッ シング攻撃が明らかになる
  81. 81. ® © 2014 MapR Technologies 81 MapR の厚意により e-book が入手可 http://bit.ly/1jQ9QuL A New Look at Anomaly Detection Ted Dunning、Ellen Friedman 著、2014 年 6 月出版(オライリーより)
  82. 82. ® © 2014 MapR Technologies 82 10月に出版予定: Time Series Databases Ted Dunning、Ellen Friedman 著、2014 年 10 月出版(オライリーより) TimeSeries Databases Ted Dunning & Ellen Friedman New Ways to Store and Access
  83. 83. ® © 2014 MapR Technologies 83 本日はご来場ありがとうございました!!
  84. 84. ® © 2014 MapR Technologies 84 © MapR Technologies, confidential ®
  85. 85. ® © 2014 MapR Technologies 85 Sandbox!

×