ML4ITS/mtad-gat-pytorch

PyTorch implementation of MTAD-GAT (Multivariate Time-Series Anomaly Detection via Graph Attention Networks) by Zhao et. al (2020, https://arxiv.org/abs/2009.02040).

解決する課題

複数の関連変数が経時的に追跡される多変量時系列データにおいて、異常を検知するためのフレームワークを提供します。このプロジェクトは、これらの異なる次元にわたって通常の動作から逸脱した異常なパターンを特定することを目的としています。

仕組み

システムは、多段階のパイプラインを通じて生データを処理します:

  1. ノイズ除去: 1-D 畳み込みを適用して時系列データを平滑化します。
  2. 依存関係の捕捉: 2つの並列なグラフアテンションネットワーク (GAT) がデータを分析します。一方は異なる特徴量間の依存関係(特徴量指向)に焦点を当て、もう一方は異なるタイムスタンプ間の依存関係(時間指向)に焦点を当てます。
  3. シーケンシャルモデリング: GRU (Gated Recurrent Unit) 層が長期的なシーケンシャルパターンを捕捉します。
  4. 予測と再構成: モデルは予測モデルを使用して次のタイムスタンプを予測し、GRU ベースのデコーダーを使用して入力シーケンスを再構成します。
  5. 異常スコアリング: Hundman らによる Peaks-Over-Threshold (POT) や、総当たり式の F1-score 探索など、さまざまな閾値設定手法を用いてデータポイントが異常かどうかを判断します。

対象ユーザー

時系列監視、システムヘルス追跡、または複雑な多変数データセットにおける外れ値検知を必要とするあらゆる分野のデータサイエンティストおよび機械学習エンジニア。

ハイライト

  • 標準的な GAT と、より表現力の高い GATv2 の両方をサポート。
  • 柔軟な異常検知のための複数の閾値設定戦略を実装。
  • MSL、SMAP、SMD などの標準的なデータセットに対する前処理および評価ツールが含まれています。
  • 予測された異常と正解ラベルを比較するための可視化ノートブックを提供。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト