# stumpy-dev/stumpy

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/stumpy-dev-stumpy).**

4,105 stars · 352 forks · Python · NOASSERTION

## Links

- GitHub: https://github.com/stumpy-dev/stumpy
- Homepage: https://stumpy.readthedocs.io/en/latest/
- awesome-repositories: https://awesome-repositories.com/repository/stumpy-dev-stumpy.md

## Topics

`anomaly-detection` `dask` `data-science` `matrix-profile` `motif-discovery` `numba` `pattern-matching` `pydata` `python` `time-series-analysis` `time-series-data-mining` `time-series-segmentation`

## Description

Stumpy is a Python library for scalable time series analysis centered on the implementation of matrix profile algorithms. It provides a framework for calculating distance profiles to identify repeating patterns and anomalies within time series data.

The project is distinguished by its ability to scale heavy computations across GPU hardware and distributed clusters using Dask. It supports multidimensional analysis for discovering motifs across concurrent data streams and offers incremental computation for real-time streaming analysis.

The library covers a broad range of time series mining techniques, including motif discovery, anomaly detection, and sequence pattern matching. It also provides tools for semantic segmentation to detect regime changes and the extraction of temporally ordered chains of similar subsequence patterns.

## Tags

### Part of an Awesome List

- [Motif Discovery](https://awesome-repositories.com/f/awesome-lists/ai/time-series-analysis/motif-discovery.md) — Implements matrix profile algorithms to discover recurring patterns and motifs within long time series datasets. ([source](https://stumpy.readthedocs.io/))
- [Multidimensional Matrix Profiles](https://awesome-repositories.com/f/awesome-lists/data/data-analysis-and-visualization/multidimensional-visualization/multidimensional-matrix-profiles.md) — Computes matrix profiles for multidimensional data to identify similar patterns across different variables. ([source](https://stumpy.readthedocs.io/))
- [Time Series Analysis](https://awesome-repositories.com/f/awesome-lists/ai/time-series-analysis.md) — Scalable library for modern time series matrix profile analysis.

### Scientific & Mathematical Computing

- [Matrix Profile Implementations](https://awesome-repositories.com/f/scientific-mathematical-computing/matrix-profile-implementations.md) — Implements matrix profile algorithms for calculating distance profiles to identify repeating patterns and discords.
- [Distance Profile Computations](https://awesome-repositories.com/f/scientific-mathematical-computing/distance-profile-computations.md) — Calculates the distance between a specific query subsequence and every subsequence in a time series using the MASS algorithm. ([source](https://stumpy.readthedocs.io/en/latest/api.html))
- [Matrix Profile Computation](https://awesome-repositories.com/f/scientific-mathematical-computing/matrix-profile-computation.md) — Calculates distances between all subsequences of a time series using z-normalization and hardware acceleration. ([source](https://cdn.jsdelivr.net/gh/stumpy-dev/stumpy@main/README.md))
- [Pan Matrix Profiles](https://awesome-repositories.com/f/scientific-mathematical-computing/matrix-calculation-utilities/pan-matrix-profiles.md) — Analyzes patterns of varying lengths by calculating matrix profiles across multiple different window sizes. ([source](https://stumpy.readthedocs.io/en/latest/api.html))
- [Consensus Motif Identification](https://awesome-repositories.com/f/scientific-mathematical-computing/sequence-motif-analyzers/consensus-motif-identification.md) — Identifies the most central conserved pattern shared across multiple different time series. ([source](https://stumpy.readthedocs.io/en/latest/api.html))
- [Time Series Pattern Matching](https://awesome-repositories.com/f/scientific-mathematical-computing/time-series-pattern-matching.md) — Finds similar shapes by searching for specific motifs or conserved patterns across one or multiple time series. ([source](https://stumpy.readthedocs.io/en/latest/tutorials.html))

### Artificial Intelligence & ML

- [Pattern Identification](https://awesome-repositories.com/f/artificial-intelligence-ml/anomaly-detection/anomaly-scoring/pattern-identification.md) — Identifies repeating patterns and anomalies by calculating the distance between every subsequence and its nearest neighbor. ([source](https://stumpy.readthedocs.io/en/latest/_sources/index.rst.txt))
- [Time Series Anomaly Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/time-series-anomaly-detection.md) — Identifies discords and novelty patterns that deviate significantly from the rest of the time series data. ([source](https://cdn.jsdelivr.net/gh/stumpy-dev/stumpy@main/README.md))
- [Distributed Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/time-series-machine-learning-frameworks/distributed-frameworks.md) — Ships a scalable framework using Dask to parallelize heavy matrix profile computations across machines.

### Data & Databases

- [Distributed Time Series Computation](https://awesome-repositories.com/f/data-databases/distributed-time-series-computation.md) — Provides a scalable system to parallelize matrix profile computations across GPU hardware and Dask clusters.
- [GPU-Accelerated Data Analysis](https://awesome-repositories.com/f/data-databases/gpu-accelerated-data-analysis.md) — Offloads complex matrix calculations to GPU hardware to significantly reduce processing time for large datasets.
- [Incremental Matrix Profiles](https://awesome-repositories.com/f/data-databases/incremental-data-streaming/incremental-computation/incremental-matrix-profiles.md) — Calculates matrix profiles incrementally as new data arrives to monitor time series in real time. ([source](https://cdn.jsdelivr.net/gh/stumpy-dev/stumpy@main/README.md))
- [GPU-Accelerated Processing](https://awesome-repositories.com/f/data-databases/large-scale-dataset-management/gpu-accelerated-processing.md) — Offloads complex matrix calculations to GPU hardware to reduce processing time for large datasets. ([source](https://stumpy.readthedocs.io/))
- [Time Series Analysis Libraries](https://awesome-repositories.com/f/data-databases/time-series-analysis-libraries.md) — Provides a comprehensive Python library for analyzing time series data using matrix profile algorithms.
- [Multidimensional Analysis](https://awesome-repositories.com/f/data-databases/time-series-analysis/multidimensional-analysis.md) — Implements multidimensional analysis to discover repeating patterns and motifs across multiple concurrent data streams.
- [Multidimensional Motif Discovery](https://awesome-repositories.com/f/data-databases/time-series-analysis/multidimensional-motif-discovery.md) — Provides capabilities to find repeating patterns across multiple concurrent data streams simultaneously. ([source](https://stumpy.readthedocs.io/en/latest/tutorials.html))
- [Streaming Analysis](https://awesome-repositories.com/f/data-databases/time-series-analysis/streaming-analysis.md) — Offers incremental computation to monitor time series in real time as new data points arrive.
- [Chain Tracing](https://awesome-repositories.com/f/data-databases/chain-tracing.md) — Discovers extended repeating patterns by computing anchored and unanchored chains of similar subsequences. ([source](https://stumpy.readthedocs.io/en/latest/api.html))
- [Distributed Computing](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-processing/distributed-processing-frameworks/distributed-computing.md) — Parallelizes distance profile calculations across multiple processors or servers to handle larger workloads. ([source](https://stumpy.readthedocs.io/en/latest/Tutorial_The_Matrix_Profile.html))
- [Dask Integrations](https://awesome-repositories.com/f/data-databases/distributed-array-processing/lazy-array-constructors/deferred-computation-integration/dask-integrations.md) — Distributes matrix profile computations across a cluster of machines using Dask integration. ([source](https://stumpy.readthedocs.io/))
- [Chain Extraction](https://awesome-repositories.com/f/data-databases/time-series-analysis/chain-extraction.md) — Analyzes sequential behavior by identifying temporally ordered sets of subsequence patterns. ([source](https://stumpy.readthedocs.io/))
- [Time Series Segmenters](https://awesome-repositories.com/f/data-databases/time-series-data-modeling/time-series-segmenters.md) — Detects regime changes and behavioral shifts by dividing time series into semantically distinct segments.
- [Query Sequence Matching](https://awesome-repositories.com/f/data-databases/time-series-querying/query-sequence-matching.md) — Locates all occurrences of a specific query subsequence within a time series that fall below a defined distance threshold. ([source](https://stumpy.readthedocs.io/en/latest/api.html))
- [Multidimensional Analyzers](https://awesome-repositories.com/f/data-databases/time-series-toolkits/time-series-decomposition/multidimensional-analyzers.md) — Provides a framework for discovering motifs and patterns across multiple concurrent data streams simultaneously.
- [Similarity Measurements](https://awesome-repositories.com/f/data-databases/time-series-toolkits/time-series-decomposition/similarity-measurements.md) — Computes the distance between two time series based on the overlap of their shared subsequences. ([source](https://stumpy.readthedocs.io/en/latest/api.html))
