14
一般的な時系列のオンライン異常値検出のためのシンプルなアルゴリズム
私は大量の時系列で作業しています。これらの時系列は基本的に10分ごとに発生するネットワーク測定値であり、一部は定期的(帯域幅)であり、一部はそうでない(つまりルーティングトラフィックの量)です。 オンラインの「異常値検出」を行うための簡単なアルゴリズムが欲しいです。基本的に、各時系列の履歴データ全体をメモリ(またはディスク)に保持し、ライブシナリオ(新しいサンプルがキャプチャされるたびに)で異常値を検出します。これらの結果を達成する最良の方法は何ですか? 現在、ノイズを除去するために移動平均を使用していますが、次に何をしますか?データセット全体に対する標準偏差、狂気などの単純なものはうまく機能しません(時系列が定常的であるとは思いません)。 double outlier_detection(double * vector、double value); ここで、vectorは履歴データを含むdoubleの配列であり、戻り値は新しいサンプル "value"の異常スコアです。