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. 依赖关系捕捉:两个平行的图注意力网络 (GAT) 分析数据。一个专注于不同特征之间的依赖关系(特征导向),另一个专注于不同时间戳之间的依赖关系(时间导向)。
  3. 序列建模:GRU (Gated Recurrent Unit) 层捕捉长期序列模式。
  4. 预测与重构:模型使用预测模型来预测下一个时间戳,并使用基于 GRU 的解码器来重构输入序列。
  5. 异常评分:它采用各种阈值设定方法——例如 Hundman 等人提出的 Peaks-Over-Threshold (POT),以及暴力 F1-score 搜索——来确定数据点是否为异常。

适用对象

从事时间序列监控、系统健康追踪,或任何需要在复杂多变量数据集中检测离群值的领域的科学家和机器学习工程师。

特点

  • 支持标准 GAT 和更具表达力的 GATv2。
  • 实现多种阈值设定策略以实现灵活的异常检测。
  • 包含针对 MSL、SMAP 和 SMD 等标准数据集的预处理和评估工具。
  • 提供可视化笔记本,用于比较预测的异常与真实标签。

相关

  • 项目
  • 项目
  • 项目
  • 项目