STUMPY: Ваш микроскоп для анализа временных рядов

24 Jun, 2026
4,105
🔱 352
👥 54

STUMPY Logo

Представьте, что у вас есть длинный временной ряд — например, показания датчиков оборудования, биржевые котировки или медицинские измерения. Как быстро найти в них повторяющиеся паттерны, аномалии или точки изменения поведения? Именно для таких задач создана библиотека STUMPY.

Что такое матричный профиль?

STUMPY вычисляет так называемый матричный профиль — компактное представление временного ряда, где для каждого участка данных (подпоследовательности) указывается его ближайший "сосед". Это как если бы для каждого кадра в фильме вы автоматически находили наиболее похожий кадр из всего видео.

STUMPY Demo

На практике это позволяет решать множество задач:

Реклама
  • Обнаружение повторяющихся паттернов (мотивов)
  • Выявление аномалий и необычных участков
  • Сегментация временных рядов
  • Анализ потоковых данных в реальном времени
  • Поиск цепочек временных зависимостей

Почему стоит попробовать STUMPY?

1. Простота использования

Установка — одна команда:

conda install -c conda-forge stumpy

Базовый анализ за несколько строк кода:

import stumpy
import numpy as np

ts = np.random.rand(10000)  # Ваши данные
window_size = 50  # Длина искомых паттернов

matrix_profile = stumpy.stump(ts, m=window_size)

2. Масштабируемость

STUMPY поддерживает:

  • Распределенные вычисления через Dask
  • GPU-ускорение для обработки больших объемов данных
  • Многомерные временные ряды

Пример работы с GPU:

from numba import cuda
devices = [device.id for device in cuda.list_devices()]

gpu_profile = stumpy.gpu_stump(ts, m=window_size, device_id=devices)

3. Производительность

Библиотека оптимизирована с помощью Numba и показывает впечатляющие результаты даже на больших объемах данных. По тестам авторов, STUMPY обрабатывает:

  • 1 млн точек за ~2.5 минуты на 2 GPU
  • 100 млн точек за ~16 часов на 16 GPU

Performance Plot

Где это применимо?

  1. Промышленность: Мониторинг оборудования, прогнозирование отказов
  2. Финансы: Обнаружение аномальных сделок, поиск рыночных паттернов
  3. Медицина: Анализ ЭКГ, выявление отклонений в показателях
  4. IoT: Обработка потоковых данных с датчиков

Под капотом

STUMPY построена на трех китах:

  1. NumPy — работа с массивами
  2. Numba — JIT-компиляция для скорости
  3. SciPy — научные вычисления

Библиотека активно развивается, имеет подробную документацию и поддерживается сообществом.

Вывод: кому подойдет STUMPY?

Если вы работаете с временными рядами и хотите:

  • Быстро находить скрытые паттерны
  • Обнаруживать аномалии без сложных моделей
  • Обрабатывать большие объемы данных

— STUMPY станет вашим надежным инструментом. Попробуйте на своих данных и посмотрите, какие инсайты скрываются в ваших временных рядах!

Ссылки:

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.