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

Yohei Sato
Yohei Sato取締役 à DATUM STUDIO
時系列分析による
 異常検知入門

     @yokkuns 里 洋平
2011/06/26 TokyoWebmining
AGENDA
●
    自己紹介
●
    異常検知とは
●   3つの異常検知
●
    変化点検出
●
    グラフ時系列の異常検知
●
    最後に
AGENDA
●
    自己紹介
●
    異常検知とは
●   3つの異常検知
●
    変化点検出
●
    グラフ時系列の異常検知
●
    最後に
自己紹介

       ●   名前 : 里 洋平
       ●   ID   : yokkuns
       ●   職業 : データマイニングエンジニア
Tokyo.Rを主催しています

       是非、ご参加ください!




    http://groups.google.com/group/r-study-tokyo
本を執筆しました
本日の内容
●
    変化点検出
本日の内容
●
    グラフ時系列の異常検知
    ●
        固有空間におけるコンピュータシステムの障害検知
        –   http://bit.ly/l9tV8D
    ●   Web系システムからの特徴抽出とオンライン障害検知手法
        –   http://bit.ly/iYML8J
AGENDA
●
    自己紹介
●
    異常検知とは
●   3つの異常検知
●
    変化点検出
●
    グラフ時系列の異常検知
●
    最後に
異常検知とは

大量データから異常なデータや変化を検出する技術
異常検知とは

大量データから異常なデータや変化を検出する技術




  ログ
異常検知とは

大量データから異常なデータや変化を検出する技術




         データマイニング
  ログ
異常検知とは

大量データから異常なデータや変化を検出する技術




         データマイニング
  ログ
セキュリティ分野での活用例

  コンピュータウイルスやDos攻撃の早期発見
障害検出•故障診断での活用例

 障害発生から原因特定までを時間を短縮する
障害検出•故障診断での活用例

 障害発生から原因特定までを時間を短縮する

   ログ




   解析
解析  解析   解析
障害検出•故障診断での活用例

 障害発生から原因特定までを時間を短縮する

   ログ            ログ    高い異常スコア




   解析         解析
解析  解析   解析           解析
マーケティングでの活用例

     新しい流行の兆しを検出する
マーケティングでの活用例

     新しい流行の兆しを検出する


    口コミ   消費行動   アンケート
マーケティングでの活用例

     新しい流行の兆しを検出する


    口コミ   消費行動   アンケート




      いつもと違った異常を検知
マーケティングでの活用例

     新しい流行の兆しを検出する


    口コミ   消費行動   アンケート




      いつもと違った異常を検知



    新しい流行に気付き、新商品の開発へ
過去データからモデルを作る

   統計モデルを用いて異常を検出する


   入力データ




           確率モデルの学習   スコア計算




                       出力
AGENDA
●
    自己紹介
●
    異常検知とは
●   3つの異常検知
●
    変化点検出
●
    グラフ時系列の異常検知
●
    最後に
3つの異常検知

          基本的な異常検知
 機能   入力対象   確率モデル   検出対象   応用
3つの異常検知

           基本的な異常検知
  機能    入力対象   確率モデル    検出対象     応用
はずれ値検出 多次元ベクトル 独立モデル   外れ値     不正検出
                               侵入検知
                               故障検知
3つの異常検知

            基本的な異常検知
  機能     入力対象    確率モデル    検出対象       応用
はずれ値検出 多次元ベクトル 独立モデル     外れ値       不正検出
                                   侵入検知
                                   故障検知
変化点検出   多次元時系列   時系列モデ   時系列上の     攻撃検出
                 ル        急激な変化    ワーム検出
                         バースト的異常   障害予兆検出
3つの異常検知

            基本的な異常検知
  機能     入力対象    確率モデル    検出対象       応用
はずれ値検出 多次元ベクトル 独立モデル     外れ値       不正検出
                                   侵入検知
                                   故障検知
変化点検出   多次元時系列   時系列モデ   時系列上の     攻撃検出
                 ル        急激な変化    ワーム検出
                         バースト的異常   障害予兆検出
異常行動検出 セッション     行動モデル   異常セッション   なりすまし検出
       時系列               異常行動パター   障害予兆検出
                         ン         不審行動検出
3つの異常検知

            基本的な異常検知
  機能     入力対象    確率モデル    検出対象       応用
はずれ値検出 多次元ベクトル 独立モデル     外れ値       不正検出
                                   侵入検知
                                   故障検知
変化点検出   多次元時系列   時系列モデ   時系列上の     攻撃検出
                 ル        急激な変化    ワーム検出
                         バースト的異常   障害予兆検出
異常行動検出 セッション     行動モデル   異常セッション   なりすまし検出
       時系列               異常行動パター   障害予兆検出
                         ン         不審行動検出
3つの異常検知

            基本的な異常検知
  機能     入力対象    確率モデル    検出対象       応用
はずれ値検出 多次元ベクトル 独立モデル     外れ値       不正検出
                                   侵入検知
                                   故障検知
変化点検出   多次元時系列   時系列モデ   時系列上の     攻撃検出
                 ル        急激な変化    ワーム検出
                         バースト的異常   障害予兆検出
異常行動検出 セッション     行動モデル   異常セッション   なりすまし検出
       時系列               異常行動パター   障害予兆検出
                         ン         不審行動検出




        本日のテーマは、変化点検出
AGENDA
●
    自己紹介
●
    異常検知とは
●   3つの異常検知
●
    変化点検出
●
    グラフ時系列の異常検知
●
    最後に
変化点を検出する必要性
変化点を検出する必要性

決まった閾値による検知では手遅れな場合がある
変化点を検出する必要性

決まった閾値による検知では手遅れな場合がある

●
    新種のワームの発生
    ●
        決まった閾値を超えた時点では手遅れ
        –   ウイルスの増殖速度は相当速い
変化点を検出する必要性

決まった閾値による検知では手遅れな場合がある

●
    新種のワームの発生
    ●
        決まった閾値を超えた時点では手遅れ
        –   ウイルスの増殖速度は相当速い




    急激な時系列的振る舞いの変わり目の時点の検出が重要
統計的検定に基づく変化点検出

 前後の時系列モデルへの当てはまりで検出する

      あてはめ曲線


                        時系列データ



                            時間


   当てはめ誤差             当てはめ誤差
       ERROR1
     ERROR1     変化点    ERROR2

                           変化点
統計的検定に基づく変化点検出

           リアルタイムで検出できない

●
    全ての候補点に対して検定を行うため時間がかかる
    ●
        セキュリティ監視や障害監視に使えない
統計的検定に基づく変化点検出

           リアルタイムで検出できない

●
    全ての候補点に対して検定を行うため時間がかかる
    ●
        セキュリティ監視や障害監視に使えない




計算効率が高くオンライン処理に向いた変化点検出が必要
変化点検出エンジンChange Finder

     リアルタイムに変化点を検出できる



                         時系列データ

      スコア

                         変化点
変化点検出エンジンChange Finder

        2段階学習により本質的な変動を捉える
入力 Xt
         第1段階学習                  第2段階学習

        データ時系列モデルの             スコア時系列モデルの
           忘却学習      スコアの平滑化      忘却学習



         スコアリング                 スコアリング
Change Finderの基本原理
●   Step1 : 第1段階学習

                     時系列データの確率モデルを用意し、
    データ時系列モデルの       オンライン忘却学習アルゴリズムで学習
       忘却学習




                     対数損失 :
       スコアリング

                     ヘリンジャースコア :
Change Finderの基本原理
●   Step2 : 平滑化


                  Given : T

       スコアの平滑化
Change Finderの基本原理
●   Step3 : 第2段階学習

                     時系列データの確率モデルを用意し、
    スコア時系列モデルの       オンライン忘却学習アルゴリズムで学習
       忘却学習



                     Given : T'
                     対数損失 :
       スコアリング

                     ヘリンジャースコア :
Change Finderのポイント

    ノイズを除去し、本質的な変動のみを捉える

●
    第1段階学習では時系列中の外れ値を検出
●
    外れ値スコアを平滑化→ノイズに反応した外れ値を除去
●
    第2段階学習によって本質的な変動のみを検出
変化点検出の応用例

      攻撃検知1 : MS.Blast

          第1次検知    第2次検知
           (発生)   (爆発的増加)


        変化点スコア
                    アクセスドロップ数
AGENDA
●
    自己紹介
●
    異常検知とは
●   3つの異常検知
●
    変化点検出
●
    グラフ時系列の異常検知
●
    最後に
ネットワーク構造の異常を検出したい
●
    ネットワークの大域的な構造の変化
●
    局所的な異常箇所の特定
●
    ソーシャルネットワークの中のコミュニティ構造の変化
●
    物理ネットワークのおける障害検出
Webシステムの障害検出

冗長構成の片方のパフォーマンスが低下した場合

●
    比較的低いトラフィックではユーザから見て異常なし
●
    プロセスの生存確認でも異常なし
Webシステムの障害検出

冗長構成の片方のパフォーマンスが低下した場合

●
    比較的低いトラフィックではユーザから見て異常なし
●
    プロセスの生存確認でも異常なし




       異常が発生していることに気づきにくい
Webシステムの障害検知

     処理能力の設計値よりも
  低い値でシステムダウンの可能性がある


               DB
Webシステムの障害検知

     処理能力の設計値よりも
  低い値でシステムダウンの可能性がある


               DB




   それぞれのサーバ単体ではなく
 ネットワークとしての異常を検出したい
ネットワーク構造の時系列の表現
●
    グラフ時系列で表現する
    ●
        行列型の時系列


                      t
                          t-1

                  D          t-2
グラフ時系列を圧縮する

      活動度ベクトルを計算する



      t                          t-n         t-2 t-1 t
          t-1      第1固有ベクトル
                   ●

                   ノルムが1になるように

  D
                   ●


             t-2   規格化

                                       •••
異常度スコアの計算

    活動度ベクトルとの相違度を見る



     現時点で計算された
     活動度ベクトル




                 1時点前に計算された
                 活動度ベクトル
       θ
実験例 : Webシステムの障害検知
●
    システム構成
    ●   冗長構成のWebシステム
    ●
        サービスが二つ動いている
●
    実験
    ●   片方のサーバのDBコールを止める。
        –   動作は不調だがプロセスは生きている状態にする




                             DB
実験例 : Webシステムの障害検知
●
    システムのモデル化
サービスを4つの組で定義
実験結果 : Webシステムの障害検知
 活動度ベクトルが機能不全と復旧を適切に捉えている
実験結果 : Webシステムの障害検知
 異常度スコアが機能不全時に高いスコアになっている
AGENDA
●
    自己紹介
●
    異常検知とは
●   3つの異常検知
●
    変化点検出
●
    グラフ時系列の異常検知
●
    最後に
最後に




     Tokyo.Rの
  発表者を募集しています!
最後に




 データマイニングエンジニア
    募集しています!

      yohei0511@gmail.com
ご清聴ありがとうございました
1 sur 61

Contenu connexe

En vedette(20)

Anomaly detection in deep learningAnomaly detection in deep learning
Anomaly detection in deep learning
Adam Gibson11.1K vues
Tokyo r15 異常検知入門Tokyo r15 異常検知入門
Tokyo r15 異常検知入門
Yohei Sato10.6K vues
Jubatus解説本の紹介Jubatus解説本の紹介
Jubatus解説本の紹介
JubatusOfficial10.6K vues
新機能紹介 1.0.6新機能紹介 1.0.6
新機能紹介 1.0.6
JubatusOfficial10.8K vues

Plus de Yohei Sato

Tokyor60 openingTokyor60 opening
Tokyor60 openingYohei Sato
1.5K vues8 diapositives
Tokyor42_r_datamining_18Tokyor42_r_datamining_18
Tokyor42_r_datamining_18Yohei Sato
13.2K vues56 diapositives
Tokyor42 ggplot2Tokyor42 ggplot2
Tokyor42 ggplot2Yohei Sato
20.6K vues95 diapositives
Tokyor39 yokkunsTokyor39 yokkuns
Tokyor39 yokkunsYohei Sato
3.3K vues48 diapositives

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