Ultrafast Local Outlier Detection from a Data Stream with Stationary Region Skipping
Ultrafast Local Outlier Detection from a Data Stream with Stationary Region Skipping(KDD2020 Accepted Papers)を読んでまとめました。
長いので、背景と概要に中身を少しまとめています。
解釈間違い等ある時がありますので、その場合指摘いただけると助かります。
目次
背景と概要
- datastreamからのリアルタイムの外れ値検出がIoTの普及等により今後ますます重要な課題となっている。
- これに対処するため、いくつかの密度ベースのアルゴリズムが提案されているが、アプリケーションの性能要求を満たすのに十分な速度のものが無い実情がある。
- 本論文ではデータの分布がwindow slideを挟んでほとんど変化しない観測に基づいたアルゴリズムを採用。
- アルゴリズム概要
データポイントの偏り
実データはデータ空間内のいくつかの局所領域に偏っており、以下の図の様にデータ分布がある時間内でほぼ定常的となる場合がある。
Main idea
密度更新のスキップ
datastreamから局所的な外れ値検出を行うためにいくつかの密度ベースアルゴリズム(データポイントの密度を推定)があるが、既存のアルゴリズムでは密度の定常性を
無視しwindowがスライドする度にwindow内の全データ点の密度を更新している。
本論文では定常領域の密度更新をスキップしている。
- 以下の図においてa:前のwindow、b:密度のアップデート、c:現在のwindowを示している
- 前のwindowでは、x1・x3が外れ値となっている。
- 現在のwindowではx2が新しい外れ値となり、x3も外れ値となっている。
- 前と現在のwindow間でデータポイントの密度が変化するのは右側のみだが、既存アルゴリズムはbの上の様にglobalに更新する。
- 新しいアルゴリズムではbの下の様に左の静止領域をスキップし、残りの局所領域の密度のみを更新する。
スキップにおける課題
定常領域スキップの概念実装には以下2つの大きな課題がある。
- 1.データ点の密度変化を追跡することはデータ空間での度を実際に計算せず行う必要があり、コストがかかる。
- 2.定常領域をスキップしても、外れ値検出の精度が損なわれない必要がある。
本論文ではSTARE(local outlier detection by STAtionary REgion skipping)というアルゴリズムを提案。
STAREアルゴリズム
問題設定
- windowで分割されるdatstreamから密度ベースでtop-nのlocal outlier detactionを行う。
- windowがスライドするたびに、最も高いlocal outlier scoresを持つn個のlocal outliersを検出する。
アルゴリズム概要
- STAREアルゴリズムは、以下の図で示されているように3つのフェイズで構成されており、各windowでこれらを実行する。
- Data distribution update
- Stationary region skip
- Top-𝑛 outlier detection
フェイズ1:Data distribution update:
- 小領域を定義し、その中のデータ点の数をカウント。そのカウントを小領域のカーネル中心の重みとする。カーネル中心はデータ点の位置とは無関係に小領域の中心となる。
- データ空間を分割したグリッドセルを小領域とする。
- 前のwindowと新しいwindow間の各小領域のカウントの正味変化を前のwindowの重み分布に反映し効率的な重みの更新を行う。
- STAREではとしてカウントの重み分布グリッドの正味変化を管理し、以下のアルゴリズムに示すようにwindowスライド間においてを計算する事で、更新を効率的に行う。
フェイズ2:Stationary region skip
- 連続したwindow間の各小領域における重みの変化を調べ、近傍のカーネル中心の累積変化が有意でない領域を定常領域とする。 これら定常領域での局所密度更新をスキップし、以下式で表される付近のカーネル中心に属するデータポイントセットのみで局所密度を更新する。
- 更に以下で表されるwindowに蓄積された誤差Eがある閾値に達するまで局所密度の更新をスキップする。
本フェイズのアルゴリズム概要は以下で表されている。
フェイズ3:Top-𝑛 outlier detection
- データ点のlocal outlier scoresに基づいてn個のlocal outliersを検出する。
- 工程
- 全てのグリッドセルにおいて、local outlier scoreを更新
- スコアに基づいて候補グリッドセルを検出
- n個のlocal outliersを検出
以下式定義
結果
データセット
- 以下1つの合成データと5つのリアルデータで検証(データ詳細は論文参照ください)
アルゴリズム
- 以下5つのアルゴリズムで比較を行っている
- MiLOF
- DILOF
- sLOf
- KELOS
- STARE(本論文のアルゴリズム)
結果
- 他のアルゴリズムと比較し、計算時間や精度等優れている結果を示している。