Оставить заявку
ru en
a@chernobrovov.ru +7 (925) 463-76-88

ТОП-7 Python-библиотек для анализа временных рядов

Временной ряд — это последовательность измерений (данных), выполненных в течение интервала времени. Анализ временных рядов сводится к применению статистических методов для моделирования и анализа данных с целью извлечения из них значимой информации и прогнозирования будущих событий, что является важным компонентом Data Science. Этот мощный инструмент можно использовать для выявления тенденций, сезонных закономерностей и других взаимосвязей между переменными в различных доменах: продажи, спрос, движение цен и пр. Для анализа временных рядов в Python можно использовать следующие популярные библиотеки.

Merlion

https://github.com/salesforce/Merlion

Эта сквозная среда машинного обучения включает загрузку и преобразование данных, построение и обучение ML-моделей, постобработку выходных данных модели и оценку ее производительности. Библиотека поддерживает различные задачи обучения временных рядов, включая прогнозирование, обнаружение аномалий и обнаружение точек изменения одномерных и многомерных временных рядов. Методы библиотеки поддерживают как классические статистические методы и ансамбли деревьев, так и подходы к глубокому обучению, позволяя пользователям настраивать ML-модели по своему усмотрению. Кроме того, Merlion поддерживает автоматическое машинное обучение (AutoML) для автоматической настройки гиперпараметров и выбора модели. Благодаря простым, но эффективным правилам постобработки для детекторов аномалий, повышается их интерпретируемость, а также снижается количество ложных срабатываний. Простые в использовании ансамбли объединяют выходные данные нескольких моделей для повышения надежности, а гибкие конвейеры оценки имитируют реальное развертывание и повторное обучение модели в рабочей среде, позволяя оценивать ее производительность при прогнозировании и обнаружении аномалий. Наконец, еще одним плюсом Merlion является встроенная поддержка визуализации предсказаний модели.

Kats

https://facebookresearch.github.io/Kats/

Kats — это целая Python-платформа, предоставляющая набор инструментов для анализа данных временных рядов, включая обнаружение, прогнозирование, извлечение/встраивание признаков, многомерный анализ и другие полезные функции. Kats содержит консолидированные API для тестирования на исторических данных и исправления некоторых ошибок, поддерживает множество детекторов (ProphetTrendDetector, Dynamic Time Warping, OutlierDetector, MKDetector, StatSigDetector), а также включает улучшенные симуляторы для создания синтетических данных и внедрения аномалий.

Prophet

https://github.com/facebook/prophet

Еще одна Python-библиотека от запрещенной и экстремисткой Meta, которая отлично работает с данными в формате CSV. Prophet основан на аддитивной модели, где нелинейные тренды соответствуют годовой, еженедельной и ежедневной сезонности, а также праздничным эффектам. Библиотека лучше всего работает с временными рядами, которые имеют сильные сезонные эффекты и несколько сезонов исторических данных. Prophet устойчив к отсутствующим данным и сдвигам в тренде и отлично справляется с выбросами.

Sktime

https://github.com/sktime/sktime

Это расширение для scikit-learn API, которое включает набор инструментов для обработки, визуализации и анализа данных временных рядов. Sktime предоставляет методы эффективного решения проблем, связанных с регрессией временных рядов, прогнозированием и классификацией. Библиотека содержит специализированные алгоритмы машинного обучения, а также преобразования временных рядов, включая конвейерную обработку, сборку, настройку и сокращение, позволяя пользователям применять алгоритм решения одной задачи к другой. Sktime также предоставляет интерфейсы для связанных библиотек, например, scikit-learn, statsmodels, tsfresh, PyOD и пр.

Pmdarima

https://github.com/alkaline-ml/pmdarima

Библиотека на основе модели ARIMA (AutoRegressive Integrated Moving Average), которая содержит множество инструментов для анализа, прогнозирования и визуализации данных временных рядов, включая инструменты для работы с сезонными данными. ARIMA — это алгоритм прогнозирования, позволяющий предсказывать будущие значения на основе информации о прошлых значениях временного ряда без дополнительных данных. Pmdarima является оболочкой модели ARIMA и поставляется с функцией, которая автоматически находит лучшие гиперпараметры (p, d, q) для модели ARIMA. Библиотека также включает в себя эквивалент функциональности auto.arima в R, сборник статистических тестов стационарности и сезонности, утилиты временных рядов, эндогенные и экзогенные преобразователи и функции, в т.ч. преобразования Бокса-Кокса и Фурье, сезонные разложения временных рядов, утилиты перекрестной проверки и большую коллекцию встроенных наборов данных для прототипирования и примеров.

TSFresh

https://github.com/blue-yonder/tsfresh

Этот Python-пакет, который автоматизирует процесс извлечения признаков из временных рядов. Он основан на идее, что информацию во временном ряду можно разложить на набор значимых характеристик, называемых признаками. Tsfresh берет на себя утомительную задачу ручного извлечения этих признаков и предоставляет инструменты для автоматического выбора и классификации признаков. Пакет предназначен для работы с датафреймами pandas и предоставляет широкий спектр функций для работы с данными временных рядов, в т.ч. автоматическое извлечение признаков из временных рядов, автоматический выбор фичей, разложение временных рядов, снижение размерности, обнаружение выбросов, поддержка нескольких форматов временных рядов и поддержка пропущенных значений.

Statsforecast

https://github.com/Nixtla/statsforecast

Эта библиотека включает набор широко используемых одномерных моделей прогнозирования временных рядов, в т.ч. автоматическое моделирование ARIMA и ETS в Python и R, оптимизированные для высокой производительности с использованием numba. Statsforecast в 20 раз быстрее, чем pmdarima, в 500 раз быстрее, чем Prophet, в 100 раз быстрее, чем NeuralProphet, в 4 раза быстрее, чем статистические модели. Библиотека содержит готовые реализации ADIDA, HistoricAverage, CrostonClassic, CrostonSBA, CrostonOptimized, SeasonalWindowAverage, SeasonalNaive, IMAPA Naive, RandomWalkWithDrift, WindowAverage, SeasonalExponentialSmoothing, TSB, AutoARIMA и ETS.

Все статьи
Оставить заявку
Подписка на новости