Raising the ClaSS of Streaming Time Series Segmentation

Arik Ermshaus, Patrick Schäfer, Ulf Leser
10/31/2023
cs.LGcs.AIcs.DB

Official code: ermshaua/classification-score-stream (8 stars, BSD-3-Clause, last commit 2024-06-03).

Abstract

Ubiquitous sensors today emit high frequency streams of numerical measurements that reflect properties of human, animal, industrial, commercial, and natural processes. Shifts in such processes, e.g. caused by external events or internal state changes, manifest as changes in the recorded signals. The task of streaming time series segmentation (STSS) is to partition the stream into consecutive variable-sized segments that correspond to states of the observed processes or entities. The partition operation itself must in performance be able to cope with the input frequency of the signals. We introduce ClaSS, a novel, efficient, and highly accurate algorithm for STSS. ClaSS assesses the homogeneity of potential partitions using self-supervised time series classification and applies statistical tests to detect significant change points (CPs). In our experimental evaluation using two large benchmarks and six real-world data archives, we found ClaSS to be significantly more precise than eight state-of-the-art competitors. Its space and time complexity is independent of segment sizes and linear only in the sliding window size. We also provide ClaSS as a window operator with an average throughput of 1k data points per second for the Apache Flink streaming engine.

View on arXivView PDF

Code Implementations(1)

BSD-3-Clause

This is the supporting website for the paper "Raising the ClaSS of Streaming Time Series Segmentation".

80Python, Jupyter NotebookNov 15, 20222 years agoBSD-3-Clause
change-pointchange-point-detectiondata-miningdata-sciencemachine-learning+7 more

Similar Papers

Cite this paper

@article{ermshaus2023raising,
  title  = {Raising the ClaSS of Streaming Time Series Segmentation},
  author = {Arik Ermshaus and Patrick Schäfer and Ulf Leser},
  year   = {2023},
  eprint = {2310.20431},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2310.20431v3}
}

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

Discussion