(57)【要約】【課題】時系列データにおける異常とスパイク状ノイズの判別を行う。【解決手段】時系列データ生成部１０２は、ログ記憶部１０１に蓄積されたデータから時系列データを作成する。異常検出部１０３は、時系列データにおいてデータ値が正常でない非正常データを検出する。スパイク判定部１０６は、非正常データから一定時間内にある後続の複数のデータをそれぞれ予測対象データとし、予測対象データごとにデータ値の予測範囲を算出し、予測対象データごとに実際のデータ値とデータ値の予測範囲とを比較し、各予測対象データの実際のデータ値が予測範囲に含まれる確率を算出し、算出した確率に基づいて、非正常データが異常データ及びスパイク状ノイズのいずれであるかを判定する。データ変換部１０７は、スパイク状ノイズと判定された場合に、スパイク状ノイズの値の代わりとなる正常な値に、ログ記憶部１０１のデータを置換する。【選択図】図１
2008140100.tif 000002
【特許請求の範囲】
【請求項１】
時間軸に沿って整列された時系列データを監視し、時系列データにおいてデータ値が正常でない非正常データを検出する非正常データ検出部と、
時間軸において前記非正常データから一定時間内にある複数のデータをそれぞれ予測対象データとし、予測対象データごとにデータ値の予測範囲を算出し、予測対象データごとに実際のデータ値とデータ値の予測範囲とを比較し、比較結果に基づいて、前記非正常データが異常データ及びノイズのいずれであるかを判定する非正常データ判定部とを有することを特徴とする情報処理装置。
【請求項２】
前記非正常データ判定部は、
予測対象データごとに実際のデータ値とデータ値の予測範囲とを比較し、各予測対象データの実際のデータ値が予測範囲に含まれる確率を算出し、算出した確率に基づいて、前記非正常データが異常データ及びノイズのいずれであるかを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記非正常データ判定部は、
前記非正常データの非正常データ値を反映させて予測対象データごとにデータ値の予測範囲を算出して、各予測対象データの第一の予測範囲とし、
前記非正常データの非正常データ値の代わりに正常なデータ値を反映させて予測対象データごとにデータ値の予測範囲を算出して、各予測対象データの第二の予測範囲とし、
予測対象データごとに実際のデータ値と第一の予測範囲とを比較し、各予測対象データの実際のデータ値が第一の予測範囲に含まれる確率を第一の確率として算出し、
予測対象データごとに実際のデータ値と第二の予測範囲とを比較し、各予測対象データの実際のデータ値が第二の予測範囲に含まれる確率を第二の確率として算出し、
算出した第一の確率と第二の確率とを比較して、前記非正常データが異常データ及びノイズのいずれであるかを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記非正常データ判定部は、
時間軸において前記非正常データに先行する複数のデータに対して時系列モデルを用いて算出されたデータ値を前記非正常データ値の代わりの正常なデータ値として用いて、各予測対象データの第二の予測範囲を算出することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記非正常データ判定部は、
時間軸において前記非正常データに先行する複数のデータのデータ値の平均値を前記非正常データ値の代わりの正常なデータ値として用いて、各予測対象データの第二の予測範囲を算出することを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記非正常データ判定部は、
時間軸において前記非正常データに後続する複数のデータを予測対象データとし、予測対象データごとにデータ値の予測範囲を算出し、予測対象データごとに実際のデータ値とデータ値の予測範囲とを比較し、予測対象データの実際のデータ値の軌跡と予測範囲の軌跡との一致状況に基づいて、前記非正常データが異常データ及びノイズのいずれであるかを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記情報処理装置は、更に、
前記時系列データの元になるログを記憶するログ記憶部と、
前記非正常データ判定部により前記非正常データがノイズであると判定された場合に、前記ログ記憶部のログを、前記非正常データの非正常データ値から正常なデータ値に書き換えるデータ書換え部を有することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記データ書換え部は、
時間軸において前記非正常データに先行する複数のデータに対して時系列モデルを用いて正常なデータ値を算出し、前記ログ記憶部のログを、算出した前記正常なデータ値に書き換えることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
コンピュータが、時間軸に沿って整列された時系列データを監視し、時系列データにおいてデータ値が正常でない非正常データを検出する非正常データ検出ステップと、
コンピュータが、時間軸において前記非正常データから一定時間内にある複数のデータをそれぞれ予測対象データとし、予測対象データごとにデータ値の予測範囲を算出し、予測対象データごとに実際のデータ値とデータ値の予測範囲とを比較し、比較結果に基づいて、前記非正常データが異常データ及びノイズのいずれであるかを判定する非正常データ判定ステップとを有することを特徴とするデータ判定方法。
【請求項１０】
時間軸に沿って整列された時系列データを監視し、時系列データにおいてデータ値が正常でない非正常データを検出する非正常データ検出処理と、
時間軸において前記非正常データから一定時間内にある複数のデータをそれぞれ予測対象データとし、予測対象データごとにデータ値の予測範囲を算出し、予測対象データごとに実際のデータ値とデータ値の予測範囲とを比較し、比較結果に基づいて、前記非正常データが異常データ及びノイズのいずれであるかを判定する非正常データ判定処理とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、時間軸に沿って整列された時系列データに混入したノイズを除去する技術に関する。
【背景技術】
【０００２】
従来、時系列データにノイズが混入した場合、特開平５−１２２４０号公報や、特開２００３−１０１８８号公報に記載のように、ノイズを除去し、検出精度や計測制度を高めていた。
【特許文献１】特開平５−１２２４０号公報
【特許文献１】特開２００３−１０１８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ネットワークの異常検出において、ネットワークのログを集計したアクセス数などから生成した時系列データでは、データの変化するポイントとして、ワームなどの攻撃による異常、正常状態の変化、さらに、スパイク状ノイズがある。
【０００４】
このスパイク状ノイズは、突発的に異常値と同じ、またはそれ以上の高い値が発生し、直後に通常の値に戻る。
図２の（１）に示すように、数値が急激に上昇した場合に、この数値の急上昇がスパイク状ノイズであるのか異常であるのかはその時点では不明である。
図２の（２）に示すように、後の数値の推移から、図２の（１）の数値の急上昇は異常の端緒であったことが後に判明する場合がある。
【０００５】
一方、図２の（３）に示すように、後の数値の推移から、図２の（１）の数値の急上昇がスパイク状ノイズであった場合、このスパイク状ノイズが入ったままだと、その後の異常が正常と判定されることなどにより異常検出の精度が低下するため、スパイク状ノイズを除去する必要がある。
【０００６】
また、ネットワークでの異常検出では、できるだけ速やかに異常な状態を検出することが必要であるが、スパイク状ノイズが入ったままだと、スパイク状ノイズの値が高い数値のため、異常の端緒の検出が遅れる場合がある（図２の（３））。
例えば、ワームなどの影響により正常な状態が徐々に変化する場合は、異常な状態の端緒の検出への影響が大きいといえる。
【０００７】
さらに、アクセス数が増大していき異常と判定された場合でも、結果的には正常状態の変化である場合（図２の（４））もあり、正常でないと判定されたデータを全て除去することはできない。
【０００８】
一方、従来の技術でノイズを除去する場合、データは正常か異常、もしくは正常かノイズかの区別しかなく、ネットワークのデータにある異常とスパイク状ノイズの判別ができないという課題があった。
【０００９】
この発明は、上記のような課題を解決することを主な目的とし、精度の高い異常検出を行うことを主な目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る情報処理装置は、
時間軸に沿って整列された時系列データを監視し、時系列データにおいてデータ値が正常でない非正常データを検出する非正常データ検出部と、
時間軸において前記非正常データから一定時間内にある複数のデータをそれぞれ予測対象データとし、予測対象データごとにデータ値の予測範囲を算出し、予測対象データごとに実際のデータ値とデータ値の予測範囲とを比較し、比較結果に基づいて、前記非正常データが異常データ及びノイズのいずれであるかを判定する非正常データ判定部とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、非正常データを検出した場合に、検出した非正常データが、異常か突発的なノイズかの判定を行うため、精度の高い異常検出を行うことができる。
【発明を実施するための最良の形態】
【００１２】
実施の形態１．
図１は、この発明の実施の形態１に係るログ分析装置等の構成を示すブロック図である。
図１において、ログ分析装置１０（情報処理装置）は、ログ収集装置２０が出力するログを分析し、分析結果を通知する。
ログ収集装置２０は、ネットワークを監視してログを収集して出力する。
表示装置１０５は、ログ分析装置１０の分析結果を表示する。
【００１３】
ログ分析装置１０において、ログ記憶部１０１は、ログ収集装置２０から出力されたログを保存する。
時系列データ生成部１０２は、ログ記憶部１０１に蓄積されたデータを時間軸に沿って整列し、時系列データを作成する。
異常検出部１０３は、時間軸に沿って整列された時系列データを監視し、時系列データにおいてデータ値が正常でない非正常データを検出する。異常検出部１０３は、非正常データ検出部の例である。
通知部１０４は、非正常データの検出を通知する。
スパイク判定部１０６は、非正常データが検出された場合、それがスパイク状ノイズであるか異常データであるかを判定する。スパイク判定部１０６は、非正常データ判定部の例である。
データ変換部１０７は、非正常データの値の代わりとなる正常な値を算出し、ログ記憶部１０１のデータを置換する。データ変換部１０７は、データ書換え部の例である。
【００１４】
スパイク判定部１０６は、時間軸において非正常データから一定時間内にある後続の複数のデータをそれぞれ予測対象データとし、予測対象データごとにデータ値の予測範囲を算出し、予測対象データごとに実際のデータ値とデータ値の予測範囲とを比較し、各予測対象データの実際のデータ値が予測範囲に含まれる確率を算出し、算出した確率に基づいて、非正常データが異常データ及びノイズのいずれであるかを判定する。
【００１５】
スパイク判定部１０６は、より具体的には、非正常データの非正常データ値を反映させて予測対象データごとにデータ値の予測範囲を算出して、各予測対象データの第一の予測範囲とし、また、非正常データの非正常データ値の代わりに正常なデータ値を反映させて予測対象データごとにデータ値の予測範囲を算出して、各予測対象データの第二の予測範囲とする。
そして、スパイク判定部１０６は、予測対象データごとに実際のデータ値と第一の予測範囲とを比較し、各予測対象データの実際のデータ値が第一の予測範囲に含まれる確率を第一の確率として算出し、また、予測対象データごとに実際のデータ値と第二の予測範囲とを比較し、各予測対象データの実際のデータ値が第二の予測範囲に含まれる確率を第二の確率として算出し、算出した第一の確率と第二の確率とを比較して、非正常データが異常データ及びノイズのいずれであるかを判定する。
なお、スパイク判定部１０６及びその他の要素の詳細な動作例は後述する。
【００１６】
次に、本実施の形態及び以下に述べる実施の形態に示すログ分析装置１０のハードウェア構成例について説明する。
図６は、本実施の形態及び以下に述べる実施の形態に示すログ分析装置１０のハードウェア資源の一例を示す図である。なお、図６の構成は、あくまでもログ分析装置１０のハードウェア構成の一例を示すものであり、ログ分析装置１０のハードウェア構成は図６に記載の構成に限らず、他の構成であってもよい。
【００１７】
図６において、ログ分析装置１０は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００１８】
通信ボード９１５は、例えば、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続されている。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１９】
上記プログラム群９２３には、本実施の形態及び以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の生成」、「〜の置換」、「〜の検出」、「〜の設定」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、以下で説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００２０】
また、本実施の形態及び以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、本実施の形態及び以下に述べる実施の形態の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、本実施の形態及び以下に述べる実施の形態の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００２１】
このように、本実施の形態及び以下に述べる実施の形態に示すログ分析装置１０は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【００２２】
次に、ログ分析装置１０の動作例（データ判定方法）について図３を参照して説明する。
ログ分析装置１０で、時系列データ生成部１０２は、ログ記憶部１０１からデータを取り出し、取り出したデータを時間軸に沿って整列させて時系列データを生成する（ステップＳ１）。
異常検出部１０３は、時系列データを解析する（ステップＳ２）。
解析の結果、正常（ステップＳ４）か否か（ステップＳ５）を判定する（ステップＳ３）（非正常データ検出ステップ）。
この異常検知の方法には、時系列データを特異値分解し特徴量を算出し、時系列の各時点に対応する特徴量をマハラノビス距離などの指標を用いて異常の検出を行う方法や、ＡＲ（Ａｕｔｏ  Ｒｅｇｒｅｓｓｉｖｅ）やＡＲＭＡ（Ａｕｔｏ  Ｒｅｇｒｅｓｓｉｖｅ  Ｍｏｖｉｎｇ  Ａｖｅｒａｇｅ）などの時系列モデルを使う方法などがある。
異常検出部１０３は、時点Ｎで正常でないデータを検出すると、非正常状態の検知を通知部１０４を介して通知し、表示装置１０５に表示する（ステップＳ６）。
さらに、スパイク判定部１０６に非正常状態の検知を通知する（ステップＳ７）。
【００２３】
次に、スパイク判定部１０６の動作例（非正常データ判定ステップ）について図４を参照して説明する。
スパイク判定部１０６は、時系列データ生成部１０２を介し、ログ記憶部１０１から時点Ｎの直前の期間Ｔ１の時系列データを取得する（ステップＳ８）。
Ｘ（ｉ）を時点ｉのデータと表すと、ここで取得する時系列データはＸ（Ｎ−Ｔ１）、Ｘ（Ｎ−Ｔ１＋１）、・・・、Ｘ（Ｎ−１）となる。
これに、Ｘ（Ｎ）を加えた、Ｘ（Ｎ−Ｔ１）、Ｘ（Ｎ−Ｔ１＋１）、・・・、Ｘ（Ｎ−１）、Ｘ（Ｎ）の時系列データに対し、スパイク判定部１０６は、ＡＲやＡＲＭＡなどの時系列モデルを使い、時点Ｎ＋１の予測値Ｐ（Ｎ＋１）と、予測誤差ＰＥ（Ｎ＋１）を算出する（ステップＳ９）。
次に、時系列データ生成部１０２を介し、ログ記憶部１０１から時点Ｎ＋１の値（実測値）Ｘ（Ｎ＋１）を得る（ステップＳ１０）。
実測値Ｘ（Ｎ＋１）が式（１）の条件を満たすかを見る。（ステップＳ１１）
Ｐ（Ｎ＋１）−ＰＥ（Ｎ＋１）＜Ｘ（Ｎ＋１）＜Ｐ（Ｎ＋１）＋ＰＥ（Ｎ＋１）
【００２４】
次に、Ｘ（Ｎ−Ｔ１＋１）からＸ（Ｎ＋１）のデータを使い、時点Ｎ＋２の予測値Ｐ（Ｎ＋２）と予測誤差ＰＥ（Ｎ＋２）を算出する。次に、時系列データ生成部１０２を介し、ログ記憶部１０１から時点Ｎ＋２の値（実測値）Ｘ（Ｎ＋２）を得、時点Ｎ＋１のときと同様に、実測値Ｘ（Ｎ＋２）が予測値Ｐ（Ｎ＋２）±予測誤差ＰＥ（Ｎ＋２）の範囲にあるかを見る。
【００２５】
なお、これらＰ（Ｎ＋ｉ）±ＰＥ（Ｎ＋ｉ）の範囲は、非正常データＸ（Ｎ）の非正常データ値（実測値）を反映させて算出したＮ＋ｉ時のデータの予測値の範囲であり、第一の予測範囲に相当する。
【００２６】
ステップＳ９からステップＳ１１の動作を、ある期間Ｔ２（つまり、Ｘ（Ｎ＋Ｔ２）まで）繰り返し（ステップＳ１２、Ｓ２３）、期間Ｔ２に含まれる全てのデータ（Ｘ（Ｎ＋１）からＸ（Ｎ＋Ｔ２）までの全てのデータ）について実測値が予測値±予測誤差の範囲に入る確率Ｒ１を求める（ステップＳ１３）。
【００２７】
なお、期間Ｔ２に含まれるデータ（Ｘ（Ｎ＋１）・・・Ｘ（Ｎ＋Ｔ２））は、予測対象データの例である。
また、確率Ｒ１は、予測対象データごとに実際のデータ値と第一の予測範囲とを比較して得られる確率であり、各予測対象データの実際のデータ値が第一の予測範囲に含まれる確率を表し、第一の確率の例である。
【００２８】
一方、スパイク判定部１０６はデータ変換部１０７を呼び、時点Ｎに対応する正常なデータＸ’（Ｎ）を取得し（ステップＳ１４）、正常でないデータＸ（Ｎ）をＸ’（Ｎ）に置き換える（ステップＳ１５）。
次に、スパイク判定部１０６は、Ｘ（Ｎ）をＸ’（Ｎ）で置換した時系列データを使い、ステップＳ９からＳ１１と同様の手法にて、時点Ｎ＋ｉの予測値および予測誤差を算出し（ステップＳ１６）、実測値と比較し、実測値が、予測値±予測誤差の範囲にあるかを見る（ステップＳ１７〜Ｓ１８）。
【００２９】
なお、ステップＳ１６で算出される（Ｎ＋ｉ）時のデータの予測値±予測誤差の範囲は、非正常データＸ（Ｎ）の非正常データ値の代わりに正常なデータ値（Ｘ’（Ｎ）のデータ値）を反映させて算出したＮ＋ｉ時のデータの予測値の範囲であり、第二の予測範囲に相当する。
【００３０】
そして、スパイク判定部１０６は、ステップＳ１６からステップＳ１８の動作を、ある期間Ｔ２（つまり、Ｘ（Ｎ＋Ｔ２）まで）繰り返し（ステップＳ１９、Ｓ２４）、期間Ｔ２に含まれる全てのデータ（Ｘ（Ｎ＋１）からＸ（Ｎ＋Ｔ２）までの全てのデータ）について実測値が予測値±予測誤差の範囲に入る確率Ｒ２を求める（ステップＳ２０）。
【００３１】
なお、確率Ｒ２は、予測対象データごとに実際のデータ値と第二の予測範囲とを比較して得られる確率であり、各予測対象データの実際のデータ値が第二の予測範囲に含まれる確率を表し、第二の確率の例である。
【００３２】
次に、スパイク判定部１０６は、確率Ｒ１と確率Ｒ２とを比較する（ステップＳ２１）。
Ｒ１＜Ｒ２、つまり、予測対象データの実測値が、時点Ｎの値を正常なデータＸ’（Ｎ）に置き換えた場合の予測に近い場合、正常でない時点Ｎのデータは、突発的なスパイク状ノイズと判定し、スパイク判定部１０６はデータ変換部１０７に通知する。
スパイク判定部１０６から通知を受けたデータ変換部１０７は、ログ記憶部１０１の時点Ｎのデータを、時点Ｎに対応する正常なデータＸ’（Ｎ）で置き換える（ステップＳ２２）。
【００３３】
データ変換部１０７で、正常でない時点ＮのデータＸ（Ｎ）に対する正常なデータＸ’（Ｎ）を算出するときの動作について説明する。
データ変換部１０７は、時系列データ生成部１０２を介してログ記憶部１０１から、時点Ｎの直前の期間Ｔ３の時系列データ、Ｘ（Ｎ−Ｔ３）、Ｘ（Ｎ−Ｔ３＋１）、・・・、Ｘ（Ｎ−１）を取得する。
この時系列データに対し、ＡＲやＡＲＭＡなどの時系列モデルを使い、時点Ｎの予測値Ｐ（Ｎ）を算出し、これを時点Ｎに対する正常なデータとする。
そして、データ変換部１０７は、図４のステップＳ１４において、正常なデータＸ’（Ｎ）をスパイク判定部１０６に通知する。
また、データ変換部１０７は、図４のステップＳ２２において、ログ記憶部１０１のデータを正常なデータＸ’（Ｎ）に書き換える。
【００３４】
以上のように、正常でないデータを検出したとき、それが異常か、突発的なスパイク状ノイズかの判定を行い、スパイク状ノイズのみを除去することにより、その後の異常検出の精度を向上させることができる。
【００３５】
なお、以上の説明では、正常なデータＸ’（Ｎ）を反映させた予測値±予測誤差に実測値が含まれる確率Ｒ２を算出し、確率Ｒ１と確率Ｒ２とを比較することとしたが、確率Ｒ２を算出せずに、予め確率Ｒ１に対する閾値を定めておき、確率Ｒ１が閾値を超えるか否かにより、異常かスパイク状ノイズかを判定するようにしてもよい。
【００３６】
以上、本実施の形態では、
（ａ）ネットワークログのパケット数やフラグ毎のパケット数などを収集する手段、
（ｂ）収集したログを記憶する手段、
（ｃ）記憶手段によって保存されたログから時間軸に沿って変化する時系列データを生成する手段、
（ｄ）時系列データを解析し、正常でないデータを検出する手段、
（ｅ）正常でないデータを検出したことを通知する手段、
（ｆ）検知した正常でないデータが異常かスパイク状ノイズかを判定する手段、
（ｇ）スパイク状ノイズの値を、その前のある一定の期間の値から推測した値に変換する手段を有し、
検知した正常でないデータが異常かスパイク状ノイズかを判定する手段おいて、
（ｈ）ＡＲやＡＲＭＡなどの時系列モデルを用い、
（ｉ）実測値が信頼区間内に入る確率から、異常かスパイク状ノイズかを判定するログ分析装置等について説明した。
【００３７】
また、本実施の形態では、スパイク状ノイズに代える値を推測し変換する手段で、スパイク状ノイズに代える値として、スパイク状ノイズと判定されたデータの前のデータを用いてＡＲやＡＲＭＡなどの時系列モデルを使い、スパイク状ノイズに代える値を推測し用いるログ分析装置について説明した。
【００３８】
実施の形態２．
実施の形態１では、時点Ｎの実測値が、正常でないデータをそのまま使って予測したものと、正常なデータに置換して予測したもののどちらに近いかで、正常でないデータがスパイク状ノイズか否かを判定した。
本実施の形態では、スパイク判定部１０６は、時間軸において非正常データに後続する複数のデータを予測対象データとし、予測対象データごとにデータ値の予測範囲を算出し、予測対象データごとに実際のデータ値とデータ値の予測範囲とを比較し、予測対象データの実際のデータ値の軌跡と予測範囲の軌跡との一致状況に基づいて、非正常データが異常データ及びノイズのいずれであるかを判定する。
【００３９】
具体的には、本実施の形態では、スパイク判定部１０６は、時点Ｎの直前の期間Ｔ４のデータ（時点Ｎ―Ｔ４、Ｎ−Ｔ４＋１、・・・Ｎ−１のデータ）を使って、時点Ｎ以降の期間Ｔ５について、時点Ｎ＋１、Ｎ＋２、・・・、Ｎ＋Ｔ５の各データの予測値を算出し、時点Ｎ、Ｎ＋１、Ｎ＋２、・・・、Ｎ＋Ｔ５の実測値が、算出した予測値に収束していくかを見る。
収束する場合、正常でないデータがスパイク状ノイズと判定する。
【００４０】
図５は、本実施の形態に係るスパイク判定部１０６の判定手法を説明する図である。
図５の上段では、Ｎ＋１からＮ＋Ｔ５の範囲において、予測値（破線）と実測値（実線）の軌跡は一致傾向にあり、実測値が予測値に収束していくため、Ｎ時点のデータはスパイク状ノイズであると判定できる。
他方、図５の下段では、Ｎ＋１からＮ＋Ｔ５の範囲において、予測値（破線）と実測値（実線）の軌跡は一致傾向になく、実測値が予測値に収束していかないため、Ｎ時点のデータはスパイク状ノイズではないと判定できる。
なお、図５では、予測範囲の例として、予測誤差を考慮していない予測値を用いているが、実施の形態１と同様に、予測範囲として、予測値±予測誤差を用い、予測値±予測誤差と実測値とを比較するようにしてもよい。
【００４１】
本実施の形態においても、スパイク判定部１０６がスパイク状ノイズを検出した場合には、データ変換部１０７がログ記憶部１０１のスパイク状ノイズのデータを正常なデータ値に置き換える。
なお、本実施の形態においても、ログ分析装置１０等の構成は図１と同様である。
【００４２】
このように、本実施の形態によれば、非正常データの検出後の一定期間の実測値が予測値に収束していくか否かによりスパイク状ノイズか否かの判断を行うため、少ない計算量にてスパイク状ノイズの判定を行うことができる。
【００４３】
以上、本実施の形態では、ＡＲやＡＭＲＡなどの時系列モデルを用い、実測値が推定値に収束するか否かで、検知した正常でないデータが異常かスパイク状ノイズかを判定するログ分析装置について説明した。
【００４４】
実施の形態３．
実施の形態１では、スパイク判定部１０６は、時点Ｎの非正常データＸ（Ｎ）に対する正常なデータとして、ＡＲやＡＲＭＡなどの時系列モデルを用いて算出されたデータを用いて第二の予測範囲を算出した。
一方、本実施の形態では、スパイク判定部１０６は、時間軸において非正常データに先行する複数のデータのデータ値の平均値を非正常データ値の代わりの正常なデータ値として用いて、各予測対象データの第二の予測範囲を算出する。
【００４５】
つまり、本実施の形態では、データ変換部１０７は、時点Ｎの直前の期間Ｔ６のデータ（時点Ｎ−Ｔ６、Ｎ−Ｔ６＋１、・・・Ｎ−１のデータ）の平均値を時点Ｎに対する正常値Ｘ’（Ｎ）として算出する。
そして、スパイク判定部１０６は、この正常値Ｘ’（Ｎ）を用いて、第二の予測範囲を算出し、以降は、実施の形態１に示した手順にて、時点Ｎのデータがスパイク状ノイズであるか否かを判定する。
また、本実施の形態においても、スパイク判定部１０６がスパイク状ノイズを検出した場合には、データ変換部１０７がログ記憶部１０１のスパイク状ノイズのデータを正常なデータ値に置き換える。この場合の正常なデータ値は、上記の期間Ｔ６のデータの平均値である。
なお、本実施の形態においても、ログ分析装置１０等の構成は図１と同様である。
【００４６】
このように、本実施の形態によれば、時点Ｎの非正常データの代わりに用いる正常値を、時点Ｎに先行する複数のデータの平均値とするため、少ない計算量にてスパイク状ノイズの判定を行うことができる。
【００４７】
以上のように、本実施の形態では、スパイク状ノイズに代える値として、スパイク状ノイズと判定されたデータの前のデータの平均値を用いるログ分析装置について説明した。
【図面の簡単な説明】
【００４８】
【図１】実施の形態１に係るログ分析装置の構成例を示す図。
【図２】スパイク状ノイズと正常状態及び異常との関係を示す図。
【図３】実施の形態１に係るログ分析装置の動作例を示すフローチャート図。
【図４】実施の形態１に係るログ分析装置の動作例を示すフローチャート図。
【図５】実施の形態２に係るログ分析装置のスパイク判定手法の例を示す図。
【図６】実施の形態１〜３に係るログ分析装置のハードウェア構成例を示す図。
【符号の説明】
【００４９】
１０  ログ分析装置、２０  ログ収集装置、１０１  ログ記憶部、１０２  時系列データ生成部、１０３  異常検出部、１０４  通知部、１０５  表示装置、１０６  スパイク判定部、１０７  データ変換部。
【図１】
2008140100.tif 000003
【図２】
2008140100.tif 000004
【図３】
2008140100.tif 000005
【図４】
2008140100.tif 000006
【図５】
2008140100.tif 000007
【図６】
2008140100.tif 000008