SMDとPSM:時系列異常検知ベンチマークを徹底解説 — 複数エンティティと多モードの難しさ

新しい異常検知の手法を提案したり、既存手法を比べたりするとき、必ず必要になるのが共通の物差し=ベンチマークデータセットです。手法Aと手法Bのどちらが優れているかは、同じデータ・同じ指標で測って初めて言えます。

多変量時系列の異常検知では、いま SMD・MSL・SMAP・PSM・SWaT の5つが事実上の標準セットになっています。OmniAnomaly、USAD、Anomaly Transformer、TranAD、DCdetector——主要手法はほぼ例外なくこの中の複数で評価されます。

本記事では、その中でも SMD(Server Machine Dataset)PSM(Pooled Server Metrics) の2つを深掘りします。なぜこの2つかというと、異常検知が直面する2種類の「難しさ」を対照的に代表しているからです。

  • SMD … 性質の異なる多数の機体(エンティティ)を相手にする難しさ
  • PSM … 1本の系列に複数の運用状態(モード)と非同期な信号が混じる難しさ

この記事を読むと、論文の実験表で「SMDとPSMで評価した」と書かれている意味——著者がどんな難しさに挑んだのか——が読み解けるようになります。

本記事の内容

  • 標準ベンチマークの地図と、SMD/PSMの位置づけ
  • SMDの構造(28台・38次元・個別学習)と「複数エンティティ」の意味
  • PSMの構造(集約・25次元・多モード・非同期)
  • SMAP/MSL/SWaTとの違い
  • 性能比較で必ず確認すべき point-adjust評価の落とし穴

前提知識

この記事を読む前に、以下を読んでおくと理解が深まります。

時系列の異常検知手法を体系的に解説
手法側の全体像。本記事はその評価基盤(データセット)の解説です。
OmniAnomaly:確率的RNNによる多変量時系列の異常検知
SMDを公開した論文。手法とデータセットはセットで生まれました。

標準ベンチマークの地図

まず全体像から入りましょう。主要5データセットを「エンティティ数」「異常率」「次元数」で配置すると、それぞれが別の領域を埋めていることが分かります。

時系列異常検知の標準ベンチマーク地図

横軸がエンティティ数(機体・系列の数)、縦軸が異常率、バブルの大きさが次元数、色がドメインです。ここから読み取れることが3つあります。

  1. SMD は右下:エンティティ数が28と多く、異常率は約4%と低い。たくさんの機体を相手にする、現実に近い「異常はまれ」な設定です。
  2. PSM は左上:エンティティは集約された1本だが、異常率は約28%と非常に高い。異常が密に詰まった設定です。
  3. SMAP/MSL は宇宙ドメイン(紫)、SWaT は産業制御(緑)で、ドメインも散らばっています。

このように、SMDとPSMは同じ「ITサーバ」ドメインながら、エンティティ数と異常率で正反対の位置にいます。だから2つ揃えると、異なる種類の難しさを同時にカバーできるのです。それぞれを詳しく見ていきましょう。

SMD(Server Machine Dataset)

出自と規模

SMDは、OmniAnomaly(Su et al., KDD 2019)の論文で新たに公開されたデータセットです。中国の大手インターネット企業のサーバ群から、5週間にわたり1分間隔で収集した運用メトリクス(CPU・メモリ・ネットワーク・ディスク等)です。

項目
エンティティ数 28台(3グループに 8 + 9 + 11 台)
各機体の次元数 38 メトリクス
サンプリング間隔 1分
収集期間 5週間
訓練長(28台合計) 約 708,405 サンプル
テスト長(28台合計) 約 708,420 サンプル
異常率(テスト) 4.16%

機体は machine-<グループ>-<番号>(例: machine-1-1)という名前で管理されます。各系列は前半が訓練(正常想定)、後半がテストに分かれています。(数値は OmniAnomaly 公式リポジトリ NetManAIOps/OmniAnomaly の記載に基づきます。)

SMDの構造(28台3グループ個別学習)

「複数エンティティ」がなぜ重要か

SMDの最大の特徴は、公式が明記する 「28個のサブセットは個別に学習・評価すべき(should be trained and tested separately)」 という設計です。28台を1つの大きなデータに混ぜず、機体ごとにモデルを作って評価し、その指標を集約します。

なぜそうするのか。各サーバは構成も負荷パターンも違うため、「正常」の形そのものが機体ごとに異なるからです。

機体ごとに正常パターンが異なる(マルチエンティティ)

上は3台の正常パターンのイメージです(構造を示す合成図)。なめらかな周期の機体、高めの水準で小刻みに動く機体、矩形的に切り替わる機体——同じ「正常」でも形がまるで違います。全機体を1つのモデルで賄おうとすると、この多様性に引きずられて精度が落ちます。だからこそSMDは「多数の異なる正常分布に、それぞれ適応できるか(マルチエンティティ性)」を測れる、数少ないベンチマークなのです。

異常の根本原因まで評価できる

SMDのもう一つの強みが interpretation_label です。各異常区間について「どの次元(メトリクス)が異常に寄与したか」がラベル付けされています。

SMDの異常区間とinterpretation_label

上図のように、異常区間(赤)で実際に逸脱した次元が分かるため、「異常を検出できたか」だけでなく 「異常の原因次元を正しく特定できたか(localization/診断)」 まで評価できます。OmniAnomalyが再構成確率を次元ごとに分解して原因を提示したのも、このラベルがあればこそでした。ラベルは運用者がインシデント報告に基づいて付与しています。

SMDが「多数の機体」を相手にするのに対し、次のPSMは「1本の中の複雑さ」を相手にします。

PSM(Pooled Server Metrics)

出自と規模

PSMは、RANSynCoders(Abdulaal et al., KDD 2021)の論文で eBay が公開したデータセットです。eBayの複数のアプリケーションサーバノードから集めたメトリクスをプール(pool=集約)した、単一のマルチ変量系列です。

項目
次元数 25(前処理により24〜26とブレあり。標準前処理では25)
訓練長 約 132,481 サンプル
テスト長 約 87,841 サンプル
異常率(テスト) 27.76%
サブデータセット なし(単一の集約系列)
提供元 eBay の複数アプリサーバノード

(数値は eBay/RANSynCoders 公式リポジトリおよび Anomaly Transformer の標準前処理に基づきます。次元数とサンプリング間隔は前処理依存でブレがあるため概数として扱ってください。)

PSMの構造(複数ノードのプール集約)

多モードと非同期 — PSM特有の難しさ

PSMはSMDと逆で、複数ノードを1本に集約しているため、1つの系列の中に複数の運用状態(モード)が混在します。

多モード(1系列に複数の運用状態)

上図のように、同じ系列でも区間によって挙動(周波数・水準)がガラッと変わります。各モードでは「正常」の見え方が違うため、検知器は「いまどのモードか」を暗に捉えたうえで異常を判断しなければなりません。固定的な正常モデルでは、モードの切り替わりを異常と誤検知しがちです。

さらにPSMは、変量どうしが 非同期(asynchronous) という難しさも持ちます。

非同期な変量(位相ずれ)

関連する信号でも、到達タイミングがずれることがあります(上図)。RANSynCodersがこの「非同期な変量の同期分析」を主目的に設計されたのは、まさにPSMのこの性質に対応するためでした。加えて異常率が約28%と高く、異常が密に詰まっている点も、SMD(約4%)とは対照的です。

ここまでで2つのデータセットの個性が見えました。SMD/PSMがどちらも「ITサーバ」ドメインなのに対し、標準セットにはドメインの異なる宇宙系・産業系も含まれます。それらがどう作られたかを知ると、データの癖や落とし穴が見えてきます。

SMAP/MSL はどう作られたか(NASAの宇宙機テレメトリ)

SMAP(Soil Moisture Active Passive)と MSL(Mars Science Laboratory)は、Hundman et al.(KDD 2018) がNASA-JPLの実運用から公開した宇宙機テレメトリのデータセットです。SMD/PSMがITサーバなのに対し、こちらは衛星・探査機という別ドメインで、いまも多くの手法が評価に使います。

重要なのは、この2つが「異常検知のための合成データ」ではなく、実際の運用で起きたインシデント記録から作られている点です。論文の Table 1 にデータの素性が明記されています。

項目 SMAP MSL 合計
テレメトリチャネル数 55 27 82
異常区間の総数 69 36 105
── point anomaly(点的) 43(62%) 19(53%) 62(59%)
── contextual anomaly(文脈依存) 26(38%) 17(47%) 43(41%)
評価したテレメトリ値の総数 429,735 66,709 496,444

(数値は Hundman et al., KDD 2018, Table 1 より。)

ここで効いてくるのが、異常を point(点的)contextual(文脈依存) に分けている点です。point anomaly は値そのものが明らかに外れたもの、contextual anomaly は値自体は正常範囲でも「この文脈では異常」というもの。後者は単純な閾値では捕まらず、時間的な文脈を読むLSTM等が必要になります。SMAP/MSLが両方を約6:4で含むことは、手法の「文脈を読む力」まで試せることを意味します。

Hundman らの手法は、テレメトリを予測し、その予測誤差を異常スコアにします。下図はその誤差系列に動的な閾値を引き、誤検知を減らす「anomaly pruning(剪定)」を実テレメトリで示したものです。

宇宙機テレメトリ上の予測誤差・閾値とanomaly pruning

出典: Hundman, Constantinou, Laporte, Colwell, Soderstrom, “Detecting Spacecraft Anomalies Using LSTMs and Nonparametric Dynamic Thresholding”, KDD 2018, Fig.2.

横軸が時刻、縦軸が平滑化された予測誤差です。背景の周期的な山は正常な運用リズム、そこから飛び出す2つのピーク(Anomaly 1, 2)が候補です。閾値(Threshold)を超えた区間のうち、相対的に小さい Anomaly 1 は「reclassify as nominal(正常に再分類)」され、大きい Anomaly 2 だけが「keep(異常として残す)」されます。実データの誤差は正常時でも常にざわついているため、こうした後処理なしでは誤検知が膨らむ——その現実が一枚に表れています。これがSMAP/MSLという実運用データならではの難しさです。

ただし、この実運用由来という出自は強みであると同時に、後述するラベル品質の弱点にもつながります。まずは全データセットを規模で並べて整理しましょう。

他のベンチマークとの違い

主要5データセットを規模で比べると、それぞれの守備範囲がはっきりします。

主要ベンチマークの規模比較

データセット ドメイン エンティティ数 次元数 異常率 一次出典
SMD ITサーバ 28(個別学習) 38 ~4.16% OmniAnomaly, KDD’19
PSM ITサーバ(集約) 1 25 ~27.76% RANSynCoders, KDD’21
SMAP 宇宙(NASA衛星) 55 25 ~13% Hundman, KDD’18
MSL 宇宙(NASA探査機) 27 55 ~10% Hundman, KDD’18
SWaT 産業制御(浄水) 1 51 ~12% iTrust/SUTD

異常率の比較

ポイントを整理します。

  • SMAP/MSL(宇宙)は実際の宇宙機異常をラベル化した貴重なデータですが、二値変量が多く「異常が自明」「ラベル誤りがある」という批判(Wu & Keogh, 2021)を最も受けています。
  • SWaT(産業制御)は浄水プラントへのサイバー攻撃シナリオで、物理的な不変量が効く異質なデータ。サンプリングが1秒単位で長大です。
  • SMD と PSM は、「機体間の異質性(SMD)」と「1系列内の多モード・非同期性(PSM)」という、互いに直交する難しさを担います。だから両方で good なら、手法の頑健性を多面的に示せます。

ところで、上で触れた「異常が自明」「ラベル誤り」という批判は、具体的にどういうことなのでしょうか。これは数値を読むときの注意点に直結するので、実例で押さえておきましょう。

データそのものの落とし穴:自明性とラベル誤り

Wu & Keogh(IEEE TKDE 2021)は、広く使われる時系列異常検知ベンチマークの多くが triviality(自明性)・非現実的な異常密度・ラベル誤り・run-to-failure のいずれかの欠陥を持つ、と指摘しました。ここでの主役はSMAP/MSLですが、SMDも例外ではありません。

まず 自明性。「自明」とは、深層学習を持ち出すまでもなく、標準的なツールの1行コードで解けてしまう異常のことです。下図はSMDの machine-3-11 の列19を、3つの1行ソリューションにかけたものです。

SMDの異常を1行ソリューションが当ててしまう(自明性)

出典: Wu & Keogh, “Current Time Series Anomaly Detection Benchmarks Are Flawed and Are Creating the Illusion of Progress”, IEEE TKDE 2021, Fig.1.

上の黒い波形がSMDの実信号(M19)、その下の赤が正解ラベル(Ground Truth)です。さらに下の3本——diff(M19) > 0.1(差分が大きい点)、M19 < 0.01(値が極端に小さい点)、movstd(M19,10) > 0.1(移動標準偏差が大きい点)——はどれも1行で書ける素朴なルールですが、正解の異常位置にぴたりと立っています。つまりこの異常は、複雑なモデルがなくても捕まえられる「自明」な異常だということです。SMDですらこうした自明な区間を含むため、高いスコアが必ずしも手法の高度さを意味しません。

次に ラベル誤り。下図はMSLの3つのスニペットを並べたものです。

MSLのラベル誤り(Not an anomaly?)

出典: Wu & Keogh, IEEE TKDE 2021, Fig.9.

一番上の赤帯が「Labeled Anomaly(異常とラベルされた区間)」ですが、形を見ると下2つの「Not an anomaly?(これは異常では?)」と付された緑帯の区間と、波形上ほとんど区別がつきません。正常とされた区間に、ラベルされた異常とそっくりなパターンが平然と現れているわけです。こうした誤ラベルがあると、正しく検出してもラベル上は「誤検知」と数えられ、評価が歪みます。MSL/SMAPがこの批判を最も受けるのはこのためで、SMD/PSMがラベル品質の面で相対的に信頼されるのと対照的です。

このように、データそのものに自明性やラベル誤りが潜むことを知っておくと、スコアを鵜呑みにせずに済みます。そしてもう一つ、データではなく評価プロトコルの側に、さらに大きな落とし穴があります。

必ず確認すべき:point-adjust評価の落とし穴

SMD/PSMを使った論文のF1スコアを比較するとき、point-adjust(PA) という評価プロトコルの有無を必ず確認してください。これを見落とすと、性能を完全に読み違えます。

point-adjustとは、「ある異常区間の中で1点でも異常と当てられたら、その区間全体を正解扱いにする」後処理です。連続した異常を1イベントとして見たい、という実務的な動機から広く使われてきました。ところが、これがスコアを過大評価します。

point-adjust評価の罠

上図は、完全にランダムな異常スコアで実験したものです。素のF1は0.24しかありませんが、point-adjustを適用すると 0.88 に跳ね上がります。区間が長いほど「まぐれで1点当たる」確率が上がり、その区間がまるごと正解になるためです。Kim et al.(AAAI 2022)は、この性質によりランダムなスコアでも容易にSOTA級のF1が出てしまうことを示し、PAベースの比較に警鐘を鳴らしました。

つまり、論文の高いF1を見たら「それはPA適用後か?」を必ず確かめる必要があります。比較するならPAの有無を揃える、あるいは PA に依存しない指標も併用するのが安全です。具体的には、affiliation-based F1(検出と正解の時間的な近さで採点)や、閾値にもバッファ長にも依存しない VUS(Volume Under the Surface) が提案されています。データの自明性・ラベル誤り(前節)と、この評価プロトコルの罠(本節)は別物ですが、どちらも「高いスコア=良い手法」を疑うべき理由であり、データセットを問わず共通します。評価指標そのものの設計については、下記の解説でさらに踏み込んでいます。

VUS:閾値にもバッファ長にも依存しない時系列異常検知の評価指標
point-adjustの水増しを避ける、パラメータフリーな評価指標。
時系列異常検知サーベイ:パラダイム分類と評価の落とし穴
point-adjust批判・新評価指標・ベンチマーク刷新(TSB-AD)を俯瞰。

まとめ

本記事では、多変量時系列異常検知の標準ベンチマーク SMD と PSM を解説しました。

  • SMD:OmniAnomaly(KDD’19)が公開。28台(3グループ)・各38次元・異常率~4%。機体ごとに個別学習するマルチエンティティ性が核で、interpretation_labelにより原因次元の特定まで評価できる
  • PSM:RANSynCoders(KDD’21)でeBayが公開。25次元の集約系列・異常率~28%。多モード非同期という1系列内の複雑さを代表する
  • 対照性:SMDは「機体間の異質性」、PSMは「系列内の多モード・非同期性」と、直交する難しさをカバー。SMAP/MSL(宇宙)・SWaT(産業)とドメインも補完し合う
  • 評価の注意:point-adjustはランダムスコアでもF1を0.24→0.88に押し上げる。論文比較ではPAの有無を必ず揃える

データセットの性格を知ると、手法論文の主張が立体的に見えてきます。「PSMで強い」は多モード・非同期に強いということ、「SMDのinterpretationで高い」は原因特定に優れるということ——そんな読み解きができるようになります。

次のステップとして、以下も参考にしてください。

OmniAnomaly:確率的RNNによる多変量時系列の異常検知
SMDを公開した手法。次元別の再構成確率で原因特定まで行う。
Time-CAD:コンテキストを考慮した時系列分解による異常検知
多モード・コンテキストへの対応という観点で対比できる手法。
時系列異常検知におけるGRUの役割
これらベンチマークで戦う手法の心臓部、GRUの使われ方。

参考文献

  • Y. Su, R. Liu, Y. Zhao, W. Sun, C. Niu, D. Pei. “Robust Anomaly Detection for Multivariate Time Series through Stochastic Recurrent Neural Network.” KDD ’19, 2019.(SMD公開。公式: https://github.com/NetManAIOps/OmniAnomaly )
  • A. Abdulaal, Z. Liu, T. Lancewicki. “Practical Approach to Asynchronous Multivariate Time Series Anomaly Detection and Localization.” KDD ’21, 2021.(PSM公開。公式: https://github.com/eBay/RANSynCoders )
  • K. Hundman et al. “Detecting Spacecraft Anomalies Using LSTMs and Nonparametric Dynamic Thresholding.” KDD ’18, 2018.(SMAP/MSL)
  • S. Kim et al. “Towards a Rigorous Evaluation of Time-series Anomaly Detection.” AAAI 2022.(point-adjust批判)
  • R. Wu, E. Keogh. “Current Time Series Anomaly Detection Benchmarks Are Flawed and Are Creating the Illusion of Progress.” IEEE TKDE, 2021.(ベンチマーク欠陥の指摘)