ProtoX-AD: Self-Explainable Time Series Anomaly Detection and Characterization

Aitor Sánchez-Ferrera, Elisabeth Wetzer, Kristoffer Wickstrøm, Michael Kampffmeyer, Robert Jenssen
6/11/2026
stat.MLcs.LG

Official code: Aitorzan3/ProtoX-AD (1 star, last commit 2026-05-26).

Abstract

Recent advances in time series anomaly detection (TSAD) have highlighted the effectiveness of self-supervised classification-based approaches. These methods apply transformations to normal training samples, training a classifier to recognize transformation-specific patterns that help identify anomalies through increased classification errors. Despite their strong performance, a significant challenge is their lack of explainability, as they provide limited insight into the characteristics of flagged anomalies. To address this limitation, we propose ProtoX-AD, a prototype-based self-explainable framework for self-supervised TSAD. ProtoX-AD learns transformation-aware latent representations alongside interpretable prototypes, enabling both accurate anomaly detection and the identification of distinct anomalous profiles through prototype-based explanations. Additionally, it allows for systematic analysis of how transformation design impacts detection performance and explainability. Experimental results on synthetic and real-world datasets demonstrate that ProtoX-AD achieves detection performance comparable to its black-box counterparts while offering more consistent and semantically meaningful explanations than existing explainable baselines. Our code is publicly available at https://github.com/Aitorzan3/ProtoX-AD.

View on arXivView PDF

Code Implementations(1)

Code comming soon!

11May 26, 20264 months ago

Similar Papers

Cite this paper

@article{snchezferrera2026protoxad,
  title  = {ProtoX-AD: Self-Explainable Time Series Anomaly Detection and Characterization},
  author = {Aitor Sánchez-Ferrera and Elisabeth Wetzer and Kristoffer Wickstrøm and Michael Kampffmeyer and Robert Jenssen},
  year   = {2026},
  eprint = {2606.13277},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2606.13277v1}
}

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/2606.13277.svg)](https://codeofpaper.com/paper/2606.13277)

Discussion