Table of Contents
Fetching ...

dtaianomaly: A Python library for time series anomaly detection

Louis Carpentier, Nick Seeuws, Wannes Meert, Mathias Verbeke

TL;DR

Time series anomaly detection is impactful but often hampered by fragmented tools and steep integration costs. The paper introduces dtaianomaly, a Python library with a scikit-learn–like API, extensibility through minimal implementation, and a Workflow for large-scale experimental validation to bridge theory and practice. Its core contributions include a BaseDetector interface, modular components (LazyDataLoader, Preprocessors, Pipeline), multiple metrics (ProbaMetrics, BinaryMetrics), visualization, and comprehensive testing, enabling rapid, reproducible benchmarking. The work demonstrates practical end-to-end usage and outlines a roadmap to expand detectors, incorporate context, and support automatic detector selection for industrial deployment.

Abstract

dtaianomaly is an open-source Python library for time series anomaly detection, designed to bridge the gap between academic research and real-world applications. Our goal is to (1) accelerate the development of novel state-of-the-art anomaly detection techniques through simple extensibility; (2) offer functionality for large-scale experimental validation; and thereby (3) bring cutting-edge research to business and industry through a standardized API, similar to scikit-learn to lower the entry barrier for both new and experienced users. Besides these key features, dtaianomaly offers (1) a broad range of built-in anomaly detectors, (2) support for time series preprocessing, (3) tools for visual analysis, (4) confidence prediction of anomaly scores, (5) runtime and memory profiling, (6) comprehensive documentation, and (7) cross-platform unit testing. The source code of dtaianomaly, documentation, code examples and installation guides are publicly available at https://github.com/ML-KULeuven/dtaianomaly.

dtaianomaly: A Python library for time series anomaly detection

TL;DR

Time series anomaly detection is impactful but often hampered by fragmented tools and steep integration costs. The paper introduces dtaianomaly, a Python library with a scikit-learn–like API, extensibility through minimal implementation, and a Workflow for large-scale experimental validation to bridge theory and practice. Its core contributions include a BaseDetector interface, modular components (LazyDataLoader, Preprocessors, Pipeline), multiple metrics (ProbaMetrics, BinaryMetrics), visualization, and comprehensive testing, enabling rapid, reproducible benchmarking. The work demonstrates practical end-to-end usage and outlines a roadmap to expand detectors, incorporate context, and support automatic detector selection for industrial deployment.

Abstract

dtaianomaly is an open-source Python library for time series anomaly detection, designed to bridge the gap between academic research and real-world applications. Our goal is to (1) accelerate the development of novel state-of-the-art anomaly detection techniques through simple extensibility; (2) offer functionality for large-scale experimental validation; and thereby (3) bring cutting-edge research to business and industry through a standardized API, similar to scikit-learn to lower the entry barrier for both new and experienced users. Besides these key features, dtaianomaly offers (1) a broad range of built-in anomaly detectors, (2) support for time series preprocessing, (3) tools for visual analysis, (4) confidence prediction of anomaly scores, (5) runtime and memory profiling, (6) comprehensive documentation, and (7) cross-platform unit testing. The source code of dtaianomaly, documentation, code examples and installation guides are publicly available at https://github.com/ML-KULeuven/dtaianomaly.

Paper Structure

This paper contains 4 sections, 2 figures, 1 table.

Figures (2)

  • Figure 1: The base objects in dtaianomaly and their interactions.
  • Figure 2: The predicted anomaly scores, visualized using https://dtaianomaly.readthedocs.io/en/stable/api/visualization.html#dtaianomaly.visualization.plot_anomaly_scores.