stumpy-dev/stumpy
STUMPY is a powerful and scalable Python library for modern time series analysis
What it solves
STUMPY is designed to analyze time series data by identifying the nearest-neighbor subsequence for every part of the signal. This allows users to automatically discover repeated patterns (motifs), anomalies (discords), and other structural characteristics without needing a predefined template.
How it works
The library computes a "matrix profile," which maps every subsequence within a time series to its closest match elsewhere in the data. It provides multiple implementation paths depending on the hardware available:
- Single-node CPU: Using
stumpy.stumpfor standard processing. - Distributed CPU: Using
stumpy.stumpedvia Dask for large-scale datasets. - GPU Acceleration: Using
stumpy.gpu_stumpfor high-performance computation. - Multi-dimensional: Using
stumpy.mstumpfor data with multiple dimensions.
Who it’s for
It is intended for academics, data scientists, and software developers who need to perform time series data mining, such as finding repeated shapes or detecting novelties in long signals.
Highlights
- Scalable: Supports distributed computing with Dask and GPU acceleration.
- Cuda-enabled: Leverages Numba for JIT compilation and GPU support.
- Versatile: Capable of motif discovery, anomaly detection, shapelet discovery, and semantic segmentation.
- Advanced Analysis: Includes tools for time series chains (ATSC) and semantic segmentation (FLUSS).
Related
- Project
- Project
- Project
- Project
- Project