M$^2$AD: Multi-Sensor Multi-System Anomaly Detection through Global Scoring and Calibrated Thresholding

Sarah Alnegheimish, Zelin He, Matthew Reimherr, Akash Chandrayan, Abhinav Pradhan +1 more
4/21/2025
cs.LGcs.AI

Official code: sarahmish/M2AD (8 stars, last commit 2025-03-11).

Abstract

With the widespread availability of sensor data across industrial and operational systems, we frequently encounter heterogeneous time series from multiple systems. Anomaly detection is crucial for such systems to facilitate predictive maintenance. However, most existing anomaly detection methods are designed for either univariate or single-system multivariate data, making them insufficient for these complex scenarios. To address this, we introduce M$^2$AD, a framework for unsupervised anomaly detection in multivariate time series data from multiple systems. M$^2$AD employs deep models to capture expected behavior under normal conditions, using the residuals as indicators of potential anomalies. These residuals are then aggregated into a global anomaly score through a Gaussian Mixture Model and Gamma calibration. We theoretically demonstrate that this framework can effectively address heterogeneity and dependencies across sensors and systems. Empirically, M$^2$AD outperforms existing methods in extensive evaluations by 21% on average, and its effectiveness is demonstrated on a large-scale real-world case study on 130 assets in Amazon Fulfillment Centers. Our code and results are available at https://github.com/sarahmish/M2AD.

View on arXivView PDF

Code Implementations(1)

sarahmish/M2ADOfficial100%

Unsupervised Anomaly Detection for Heterogeneous Multivariate Time Series Data.

80Python, Jupyter NotebookSep 23, 20241 years ago

Similar Papers

Cite this paper

@article{alnegheimish2025mad,
  title  = {M$^2$AD: Multi-Sensor Multi-System Anomaly Detection through Global Scoring and Calibrated Thresholding},
  author = {Sarah Alnegheimish and Zelin He and Matthew Reimherr and Akash Chandrayan and Abhinav Pradhan and Luca D'Angelo},
  year   = {2025},
  eprint = {2504.15225},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2504.15225v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2504.15225.svg)](https://codeofpaper.com/paper/2504.15225)

Discussion