# Anomaly Detection in Time Series: A Comprehensive Evaluation
**著者**: Sebastian Schmidl, Phillip Wenig, Thorsten Papenbrock
**刊行**: PVLDB, Vol. 15, No. 9, pp. 1779–1797, 2022
**DOI**: 10.14778/3538598.3538602
**成果物**: https://hpi.de/naumann/s/time-series-anomaly-detection-evaluation
**主著者所属**: [[Hasso Plattner Institute]], University of Potsdam / Philipps University of Marburg
## 概要
時系列[[異常検知]]アルゴリズムを横断的に比較した包括的な評価研究。158 件の文献から 71 手法を選定・再実装し、24 コレクションから集めた 976 データセット(実世界 + 合成)上で実行した。各手法の有効性・効率性・堅牢性を AUC-ROC / AUC-PR / AUC-PT₍R₎T の 3 指標で測定し、アルゴリズム選択を支援する 14 の実践的知見(RI 1〜14)を導出する。評価基盤として [[TimeEval]](Python ベースの分散評価フレームワーク)と [[GutenTAG]](合成時系列生成ツール)を新規開発し、OSS として公開した。
## 問題設定
時系列の異常(anomaly)を「頻出パターンから逸脱する 1 点以上のデータ点の列」と定義し、3 学習タイプ(TYPE I 教師なし / TYPE II 教師あり / TYPE III 半教師あり)× 6 手法ファミリー(予測・再構成・符号化・距離・分布・孤立木)の 2 軸で分類する。既存の評価研究が「少数の手法・偏ったデータセット・不正ラベル」という 3 課題を抱えることを先行研究([147] Wu and Keogh)に基づき指摘し、本研究の正当性を主張する。
## 手法ファミリーの整理
6 ファミリーそれぞれの代表的アルゴリズム:
| ファミリー | 代表アルゴリズム | 特徴 |
|---|---|---|
| 予測 (Forecasting) | ARIMA, LSTM-AD, DeepAnT, NumentaHTM | 正常モデルで予測し残差をスコアに使う |
| 再構成 (Reconstruction) | AE, Donut, EncDec-AD, OmniAnomaly | 潜在空間経由で復元し誤差をスコアに使う |
| 符号化 (Encoding) | GrammarViz, TSBitmap, Series2Graph | 潜在空間表現から直接スコアを算出 |
| 距離 (Distance) | Sub-LOF, k-Means, STAMP, STOMP | 部分列間距離・近傍距離でスコアを計算 |
| 分布 (Distribution) | COPOD, HBOS, DWT-MLEAD, S-H-ESD | データ分布を推定し分布外れ度をスコアに |
| 孤立木 (Tree) | iForest, Sub-IF, EIF, IF-LOF | 無作為分割木で孤立しやすい点をスコアに |
## 評価設定
- **計算環境**: 14 台(Intel Xeon E5-2630 v4、10 コア 2.2 GHz)のクラスタ、Docker コンテナで 1 CPU コア・3 GB メモリに制限、GPU 不使用
- **時間/メモリ制限**: 学習 2 時間 / 推論 2 時間 / メモリ 3 GB
- **ハイパーパラメータ調整**: 192 パラメータを固定(99)/依存(12)/共有(11)/最適化(70)に分類し、GutenTAG データセット上の平均 AUC-ROC 最大化で自動調整
- **データ前処理**: 異常なし・汚染率 > 10%・50% 以上の手法が処理不能・単一手法でも AUC-ROC ≥ 0.8 を達成できないデータセットを除外し 976 件を確定
### データコレクション(主要なもの)
| コレクション | 種類 | 次元 | データセット数 |
|---|---|---|---|
| GutenTAG | 合成 | 単変量/多変量 | 193(評価使用 187) |
| WebscopeS5 | 実世界/合成 | 単変量 | 367(使用 360) |
| KDD-TSAD | 合成 | 単変量 | 250(使用 249) |
| NAB | 実世界/合成 | 単変量 | 58(使用 56) |
| SMD (Server Machine Dataset) | 実世界 | 多変量 | 28(使用 23) |
### 合成データ生成 GutenTAG
5 種の基底波形(正弦波 / ECG / ランダムウォーク / CBF / 多項式)に 9 種の異常(振幅・極値・周波数・平均・パターン・パターンシフト・定常・トレンド・分散)を注入し、制御された実験条件を実現。ラベル品質が低い実世界データセットの問題を回避する手段として提示。
## 主要結果(RI 1〜14)
1. **RI 1**: 教師あり手法は半教師あり・教師なし手法を一貫して上回らない。実世界では異常ラベルが事前に不明なため、教師あり手法の人気は低い(158 手法中 7 件のみ)。
2. **RI 2**: 万能アルゴリズムは存在しない。多変量異常には多変量対応アルゴリズムが必要だが、単変量データには単変量アルゴリズムが優れる。
3. **RI 3(暗示)**: 実世界データと合成データで最良アルゴリズムが異なる。実世界データはラベル品質が低く、難しいか雑音が多い。
4. **RI 4**: 評価指標の選択は用途依存。AUC-ROC は感度の高い手法を評価し、AUC-PR は正確性の高い手法を評価し、AUC-PT₍R₎T は部分列異常に特化する。
5. **RI 5**: すべての手法ファミリーが特定条件では有効で、明確な最強手法は存在しない。完全スコアを達成した手法はゼロ。
6. **RI 6**: 極値(extremum)異常が最も検知しやすい(平均 AUC-ROC > 0.8)。
7. **RI 7**: トレンド異常が最も検知困難(平均 AUC-ROC < 0.6)。
8. **RI 8**: 周波数・パターンシフト異常は距離系・予測系が検知でき、再構成系・孤立木系が苦手。
9. **RI 9**: 構造のない混沌(CBF)時系列は全手法が苦手。正弦波時系列が最も検知しやすい。
10. **RI 10**: 周期性のある時系列の方が非周期時系列より検知しやすい。
11. **RI 11**: 再構成手法の大半は低スコア(〜0.5)。例外は EncDec-AD と Donut のみ。予測系・距離系は幅広い特性で安定。
12. **RI 12**: 教師あり・半教師あり手法は平均 255 ms/点と最も遅い。XGBoosting・RobustPCA・TARZAN・LaserDBN は < 2.5 ms/点で競争力あり。
13. **RI 13**: 最速でも最遅でも精度が良いとは限らない。コスト/性能比の最良は **DWT-MLEAD**(AUC-ROC 83%、2.2 ms/点)。
14. **RI 14**: 3 GB メモリ制限で問題になるのは一部の深層学習手法のみ(LSTM-AD 50%・EncDec-AD 26% の実行でオーバー)。
## 深層学習についての評価
先行研究 [67] と一致し、深層学習手法は学習コストに見合う精度優位を一貫して示せない。「シンプルな手法が高度な手法とほぼ同等の性能を出す」([56])という先行知見も確認。
## 討論: 今後の研究方向
1. **柔軟性(Flexibility)**: 多様な異常とデータ特性を扱うハイブリッド・統合型異常検知システムの研究が必要。
2. **信頼性(Reliability)**: 全データセットをエラーなく処理できた手法は少数。スケーラビリティと堅牢性の研究が必要。
3. **単純さ(Simplicity)**: 平均 7 設定が必要で、実用上は訓練データ(ラベル)が得られない場合が多い。自動設定・自己調整アルゴリズムの研究が必要。
## TimeEval フレームワーク
Python 3.8 製の評価自動化ツール。Docker コンテナでアルゴリズムを言語非依存に実行し、タスク(1 アルゴリズム × 1 データセット)をクラスタ上にスケジューリングする。14 台のサーバクラスタで 140 タスクを並列実行。指標計算・タイムアウト管理・出力正規化を自動化。
## 関連概念・エンティティ
- 概念: [[異常検知]] / [[時系列異常検知ベンチマーク]] / [[多変量時系列予測]]
- エンティティ: [[Sebastian Schmidl]] / [[Phillip Wenig]] / [[Thorsten Papenbrock]] / [[Hasso Plattner Institute]] / [[TimeEval]] / [[GutenTAG]]
## 出典(参照元文献 抜粋)
- [22] Breunig+ 2000 — LOF
- [83] Liu+ 2008 — Isolation Forest
- [156] Yeh+ 2016 — STAMP / Matrix Profile
- [147] Wu & Keogh — "all current time series anomaly detection benchmarks are flawed"