時系列分析による異常検知入門

36,805 views
37,265 views

Published on

Published in: Technology, Design
0 Comments
64 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
36,805
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
281
Comments
0
Likes
64
Embeds 0
No embeds

No notes for slide

時系列分析による異常検知入門

  1. 1. 時系列分析による 異常検知入門 @yokkuns 里 洋平2011/06/26 TokyoWebmining
  2. 2. AGENDA● 自己紹介● 異常検知とは● 3つの異常検知● 変化点検出● グラフ時系列の異常検知● 最後に
  3. 3. AGENDA● 自己紹介● 異常検知とは● 3つの異常検知● 変化点検出● グラフ時系列の異常検知● 最後に
  4. 4. 自己紹介 ● 名前 : 里 洋平 ● ID : yokkuns ● 職業 : データマイニングエンジニア
  5. 5. Tokyo.Rを主催しています 是非、ご参加ください! http://groups.google.com/group/r-study-tokyo
  6. 6. 本を執筆しました
  7. 7. 本日の内容● 変化点検出
  8. 8. 本日の内容● グラフ時系列の異常検知 ● 固有空間におけるコンピュータシステムの障害検知 – http://bit.ly/l9tV8D ● Web系システムからの特徴抽出とオンライン障害検知手法 – http://bit.ly/iYML8J
  9. 9. AGENDA● 自己紹介● 異常検知とは● 3つの異常検知● 変化点検出● グラフ時系列の異常検知● 最後に
  10. 10. 異常検知とは大量データから異常なデータや変化を検出する技術
  11. 11. 異常検知とは大量データから異常なデータや変化を検出する技術 ログ
  12. 12. 異常検知とは大量データから異常なデータや変化を検出する技術 データマイニング ログ
  13. 13. 異常検知とは大量データから異常なデータや変化を検出する技術 データマイニング ログ
  14. 14. セキュリティ分野での活用例 コンピュータウイルスやDos攻撃の早期発見
  15. 15. 障害検出•故障診断での活用例 障害発生から原因特定までを時間を短縮する
  16. 16. 障害検出•故障診断での活用例 障害発生から原因特定までを時間を短縮する ログ 解析解析 解析 解析
  17. 17. 障害検出•故障診断での活用例 障害発生から原因特定までを時間を短縮する ログ ログ 高い異常スコア 解析 解析解析 解析 解析 解析
  18. 18. マーケティングでの活用例 新しい流行の兆しを検出する
  19. 19. マーケティングでの活用例 新しい流行の兆しを検出する 口コミ 消費行動 アンケート
  20. 20. マーケティングでの活用例 新しい流行の兆しを検出する 口コミ 消費行動 アンケート いつもと違った異常を検知
  21. 21. マーケティングでの活用例 新しい流行の兆しを検出する 口コミ 消費行動 アンケート いつもと違った異常を検知 新しい流行に気付き、新商品の開発へ
  22. 22. 過去データからモデルを作る 統計モデルを用いて異常を検出する 入力データ 確率モデルの学習 スコア計算 出力
  23. 23. AGENDA● 自己紹介● 異常検知とは● 3つの異常検知● 変化点検出● グラフ時系列の異常検知● 最後に
  24. 24. 3つの異常検知 基本的な異常検知 機能 入力対象 確率モデル 検出対象 応用
  25. 25. 3つの異常検知 基本的な異常検知 機能 入力対象 確率モデル 検出対象 応用はずれ値検出 多次元ベクトル 独立モデル 外れ値 不正検出 侵入検知 故障検知
  26. 26. 3つの異常検知 基本的な異常検知 機能 入力対象 確率モデル 検出対象 応用はずれ値検出 多次元ベクトル 独立モデル 外れ値 不正検出 侵入検知 故障検知変化点検出 多次元時系列 時系列モデ 時系列上の 攻撃検出 ル 急激な変化 ワーム検出 バースト的異常 障害予兆検出
  27. 27. 3つの異常検知 基本的な異常検知 機能 入力対象 確率モデル 検出対象 応用はずれ値検出 多次元ベクトル 独立モデル 外れ値 不正検出 侵入検知 故障検知変化点検出 多次元時系列 時系列モデ 時系列上の 攻撃検出 ル 急激な変化 ワーム検出 バースト的異常 障害予兆検出異常行動検出 セッション 行動モデル 異常セッション なりすまし検出 時系列 異常行動パター 障害予兆検出 ン 不審行動検出
  28. 28. 3つの異常検知 基本的な異常検知 機能 入力対象 確率モデル 検出対象 応用はずれ値検出 多次元ベクトル 独立モデル 外れ値 不正検出 侵入検知 故障検知変化点検出 多次元時系列 時系列モデ 時系列上の 攻撃検出 ル 急激な変化 ワーム検出 バースト的異常 障害予兆検出異常行動検出 セッション 行動モデル 異常セッション なりすまし検出 時系列 異常行動パター 障害予兆検出 ン 不審行動検出
  29. 29. 3つの異常検知 基本的な異常検知 機能 入力対象 確率モデル 検出対象 応用はずれ値検出 多次元ベクトル 独立モデル 外れ値 不正検出 侵入検知 故障検知変化点検出 多次元時系列 時系列モデ 時系列上の 攻撃検出 ル 急激な変化 ワーム検出 バースト的異常 障害予兆検出異常行動検出 セッション 行動モデル 異常セッション なりすまし検出 時系列 異常行動パター 障害予兆検出 ン 不審行動検出 本日のテーマは、変化点検出
  30. 30. AGENDA● 自己紹介● 異常検知とは● 3つの異常検知● 変化点検出● グラフ時系列の異常検知● 最後に
  31. 31. 変化点を検出する必要性
  32. 32. 変化点を検出する必要性決まった閾値による検知では手遅れな場合がある
  33. 33. 変化点を検出する必要性決まった閾値による検知では手遅れな場合がある● 新種のワームの発生 ● 決まった閾値を超えた時点では手遅れ – ウイルスの増殖速度は相当速い
  34. 34. 変化点を検出する必要性決まった閾値による検知では手遅れな場合がある● 新種のワームの発生 ● 決まった閾値を超えた時点では手遅れ – ウイルスの増殖速度は相当速い 急激な時系列的振る舞いの変わり目の時点の検出が重要
  35. 35. 統計的検定に基づく変化点検出 前後の時系列モデルへの当てはまりで検出する あてはめ曲線 時系列データ 時間 当てはめ誤差 当てはめ誤差 ERROR1 ERROR1 変化点 ERROR2 変化点
  36. 36. 統計的検定に基づく変化点検出 リアルタイムで検出できない● 全ての候補点に対して検定を行うため時間がかかる ● セキュリティ監視や障害監視に使えない
  37. 37. 統計的検定に基づく変化点検出 リアルタイムで検出できない● 全ての候補点に対して検定を行うため時間がかかる ● セキュリティ監視や障害監視に使えない計算効率が高くオンライン処理に向いた変化点検出が必要
  38. 38. 変化点検出エンジンChange Finder リアルタイムに変化点を検出できる 時系列データ スコア 変化点
  39. 39. 変化点検出エンジンChange Finder 2段階学習により本質的な変動を捉える入力 Xt 第1段階学習 第2段階学習 データ時系列モデルの スコア時系列モデルの 忘却学習 スコアの平滑化 忘却学習 スコアリング スコアリング
  40. 40. Change Finderの基本原理● Step1 : 第1段階学習 時系列データの確率モデルを用意し、 データ時系列モデルの オンライン忘却学習アルゴリズムで学習 忘却学習 対数損失 : スコアリング ヘリンジャースコア :
  41. 41. Change Finderの基本原理● Step2 : 平滑化 Given : T スコアの平滑化
  42. 42. Change Finderの基本原理● Step3 : 第2段階学習 時系列データの確率モデルを用意し、 スコア時系列モデルの オンライン忘却学習アルゴリズムで学習 忘却学習 Given : T 対数損失 : スコアリング ヘリンジャースコア :
  43. 43. Change Finderのポイント ノイズを除去し、本質的な変動のみを捉える● 第1段階学習では時系列中の外れ値を検出● 外れ値スコアを平滑化→ノイズに反応した外れ値を除去● 第2段階学習によって本質的な変動のみを検出
  44. 44. 変化点検出の応用例 攻撃検知1 : MS.Blast 第1次検知 第2次検知 (発生) (爆発的増加) 変化点スコア アクセスドロップ数
  45. 45. AGENDA● 自己紹介● 異常検知とは● 3つの異常検知● 変化点検出● グラフ時系列の異常検知● 最後に
  46. 46. ネットワーク構造の異常を検出したい● ネットワークの大域的な構造の変化● 局所的な異常箇所の特定● ソーシャルネットワークの中のコミュニティ構造の変化● 物理ネットワークのおける障害検出
  47. 47. Webシステムの障害検出冗長構成の片方のパフォーマンスが低下した場合● 比較的低いトラフィックではユーザから見て異常なし● プロセスの生存確認でも異常なし
  48. 48. Webシステムの障害検出冗長構成の片方のパフォーマンスが低下した場合● 比較的低いトラフィックではユーザから見て異常なし● プロセスの生存確認でも異常なし 異常が発生していることに気づきにくい
  49. 49. Webシステムの障害検知 処理能力の設計値よりも 低い値でシステムダウンの可能性がある DB
  50. 50. Webシステムの障害検知 処理能力の設計値よりも 低い値でシステムダウンの可能性がある DB それぞれのサーバ単体ではなく ネットワークとしての異常を検出したい
  51. 51. ネットワーク構造の時系列の表現● グラフ時系列で表現する ● 行列型の時系列 t t-1 D t-2
  52. 52. グラフ時系列を圧縮する 活動度ベクトルを計算する t t-n t-2 t-1 t t-1 第1固有ベクトル ● ノルムが1になるように D ● t-2 規格化 •••
  53. 53. 異常度スコアの計算 活動度ベクトルとの相違度を見る 現時点で計算された 活動度ベクトル 1時点前に計算された 活動度ベクトル θ
  54. 54. 実験例 : Webシステムの障害検知● システム構成 ● 冗長構成のWebシステム ● サービスが二つ動いている● 実験 ● 片方のサーバのDBコールを止める。 – 動作は不調だがプロセスは生きている状態にする DB
  55. 55. 実験例 : Webシステムの障害検知● システムのモデル化サービスを4つの組で定義
  56. 56. 実験結果 : Webシステムの障害検知 活動度ベクトルが機能不全と復旧を適切に捉えている
  57. 57. 実験結果 : Webシステムの障害検知 異常度スコアが機能不全時に高いスコアになっている
  58. 58. AGENDA● 自己紹介● 異常検知とは● 3つの異常検知● 変化点検出● グラフ時系列の異常検知● 最後に
  59. 59. 最後に Tokyo.Rの 発表者を募集しています!
  60. 60. 最後に データマイニングエンジニア 募集しています! yohei0511@gmail.com
  61. 61. ご清聴ありがとうございました

×