Пакет с открытым исходным кодом для предварительной обработки и прогнозирования временных рядов с унифицированными и удобными API.

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

  • Прогнозировать потребительский спрос на каждый продукт
  • Прогнозирование распространения пандемии, диагностика, медикаментозное лечение и планирование в здравоохранении
  • Обнаружение аномалий, кибербезопасность и профилактическое обслуживание
  • Прогнозировать, сможет ли текущая инфраструктура обрабатывать трафик в ближайшем и отдаленном будущем.

и многое другое.

Прогнозирование временных рядов немного отличается от традиционного варианта использования машинного обучения, поскольку оно включает временное упорядочение данных, которое необходимо учитывать во время разработки функций и моделирования.

Мотивация:

Для обучения модели прогнозирования временных рядов вы попадаете в ситуацию, когда вы используете Pandas для предварительной обработки, statsmodel для сезонности и статистических тестов, scikit-learn или Facebook Prophet для прогнозирования и пользовательские код для реализации бэктестинга и выбора модели.

Сквозное прогнозирование временных рядов становится утомительной задачей для специалистов по данным, поскольку разные библиотеки имеют разные API и типы данных. Для традиционных вариантов использования машинного обучения у нас есть пакет scikit-learn, который предоставляет согласованный API для сквозного моделирования машинного обучения.

Darts пытается стать средством обучения временным рядам, и его основная цель — упростить весь подход к прогнозированию временных рядов. В этой статье мы обсудим пакет дартс и его реализацию.

Дартс:

Darts – это библиотека Python, позволяющая легко манипулировать временными рядами и прогнозировать их. Он предлагает реализации различных моделей, от классических, таких как ARIMA, до глубоких нейронных сетей, которые могут быть реализованы так же, как модели научного обучения (с использованием API-интерфейсов подгонки и прогнозирования).

Некоторые особенности пакета Darts:

  • Он построен на основе неизменного класса TimeSeries.
  • Он имеет унифицированный и удобный интерфейс API-интерфейсов, похожий на scikit-learn, например fit() и predict().
  • Он предлагает множество моделей от классических моделей до самых современных подходов ML/DL.
  • Он предоставляет API-интерфейсы для сценариев использования сквозного прогнозирования временных рядов, включая обнаружение данных, предварительную обработку данных, прогнозирование, а также выбор и оценку модели.

Прогнозирование с дартс:

Далее давайте обсудим, изучим и реализуем фундаментальные возможности пакета Darts для Набора данных авиапассажиров (с открытым исходным кодом), который содержит ежемесячный набор данных авиапассажиров с 1949 по 1960 год.

Читать временной ряд:

Прочитайте набор данных Air Passenger и разделите его на данные для обучения и проверки, а затем визуализируйте его.

Прогнозирование:

Darts предлагает реализацию различных классических и продвинутых методов моделирования временных рядов, включая ARIMA, Theta, Exponential Smoothing, N-Beats, Facebook Prophet и т. д.

Следуйте документации darts.models, чтобы узнать больше о каждой из реализаций.

Оценка и настройка:

Darts предлагает реализацию для вычисления производительности вашей модели и настройки гиперпараметров оценщика для получения оптимизированной модели.

Расширенные возможности:

  • Наряду с классическими моделями временных рядов Darts также предлагает передовые современные функции ML/DL.
  • Вероятностное прогнозирование
  • Обучение на нескольких сериях и больших наборах данных
  • Поддержка многомерных рядов. Моделирование N-Beats может выполняться на многомерных данных временных рядов.
  • Включите внешние прошлые и будущие данные. Прошлые и будущие данные ковариатов могут быть переданы во время обучения модели, чтобы улучшить производительность модели.

Заключение:

Darts — это удобный пакет, предлагающий удобную и современную реализацию машинного обучения для конкретных случаев использования временных рядов.

Ограничениями пакета Darts могут быть отсутствие статических ковариатов, реализация AutoML, обнаружение аномалий и предварительно обученные модели.

Использованная литература:

[1] Документация по дартс: https://unit8co.github.io/darts/#

[2] Данные авиапассажиров (открытая лицензия): https://www.kaggle.com/datasets/rakannimer/air-passengers

Спасибо за чтение