Пакет с открытым исходным кодом для предварительной обработки и прогнозирования временных рядов с унифицированными и удобными 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
Спасибо за чтение