STUMPY

A Powerful and Scalable Python Library for Modern Time Series Analysis

Sean Law
2 min readJun 17, 2020

The Whole is Greater than the Sum of Its Parts

(Image by Author)

STUMPY is a powerful and scalable Python library for modern time series analysis and, at its core, efficiently computes something called a matrix profile. The goal of this multi-part series is to explain what the matrix profile is and how you can start leveraging STUMPY for all of your modern time series data mining tasks!

(Video by Author)

Note: These tutorials were originally featured in the STUMPY documentation.

Part 1: The Matrix Profile
Part 2: STUMPY Basics
Part 3: Time Series Chains
Part 4: Semantic Segmentation
Part 5: Fast Approximate Matrix Profiles with STUMPY
Part 6: Matrix Profiles for Streaming Time Series Data
Part 7: Fast Pattern Searching with STUMPY
Part 8: AB-Joins with STUMPY
Part 9: Time Series Consensus Motifs
Part 10: Discovering Multidimensional Time Series Motifs
Part 11: User-Guided Motif Search
Part 12: Matrix Profiles for Machine Learning

The Origin Story

(Image by Darius Bashar)

STUMPY derives its name from its algorithmic predecessors (i.e., STAMP and STOMP) and pays homage to other foundational Python numerical computing packages (i.e., NumPy, SciPy, and Numba). Originally, STUMPY was conceived in Ann Arbor, MI, which is often known as the “City of Trees”, and so a name was born.

Resources

UCR Matrix Profile
STUMPY Matrix Profile Documentation
STUMPY Matrix Profile Github Code Repository

--

--

Sean Law
Sean Law

Written by Sean Law

Principal Data Scientist at a Fortune 500 FinTech company. PyData Ann Arbor organizer. Creator of STUMPY for modern time series analysis. Twitter: @seanmylaw