Об этом проекте
PyTorch Forecasting — это открытый пакет с лицензией MIT для прогнозирования временных рядов с использованием современных архитектур глубокого обучения. Он построен на PyTorch и PyTorch Lightning, поэтому обучение может выполняться на CPU, одном GPU или нескольких GPU с автоматическим логированием.
Проект ориентирован как на практические приложения, так и на исследования. Его заявленная цель — высокоуровневый API с максимальной гибкостью для профессионалов и разумными настройками по умолчанию для новичков.
Ключевые компоненты, описанные в README:
- Класс набора данных временных рядов, который абстрагирует преобразования переменных, пропущенные значения, рандомизированную подвыборку и несколько длин истории.
- Базовый класс модели, обеспечивающий базовое обучение моделей временных рядов, логирование в TensorBoard и типовые визуализации, такие как графики фактических значений против прогнозов и графики зависимостей.
- Несколько архитектур нейронных сетей, улучшенных для реального развёртывания, со встроенными возможностями интерпретации.
- Метрики временных рядов для нескольких горизонтов.
- Настройка гиперпараметров с помощью optuna.
Доступные модели включают Temporal Fusion Transformer, N-BEATS, N-HiTS, DeepAR и PatchTST, а также простые базовые варианты, такие как LSTM, GRU, MLP-декодер и наивный предиктор последнего значения. В документации приведено сравнение моделей. Учебное руководство объясняет, как реализовывать новые модели и пользовательские компоненты.
Установка выполняется через pip (`pip install pytorch-forecasting`) или conda из conda-forge. В Windows сначала необходимо установить PyTorch. Дополнительная опциональная установка добавляет многомерную квантильную потерю MQF2.
Использование сосредоточено на преобразовании pandas DataFrame в TimeSeriesDataSet, для которого требуются столбцы для целевой переменной, идентификатора временного ряда и монотонно возрастающего индекса времени. Набор данных определяет длины кодировщика и прогнозирования, а также статические, известные и неизвестные ковариаты. Проверочные наборы данных можно создавать из обучающего набора данных для повторного использования нормализации. Наборы данных преобразуются в dataloader'ы, а модели обучаются с помощью PyTorch Lightning Trainer, включая раннюю остановку, мониторинг скорости обучения и подбор скорости обучения через Lightning Tuner.
В README есть ссылки на документацию, учебные руководства, примечания к выпускам, сообщество в Discord и статью в Towards Data Science. Проект описан как проект, спонсируемый GC.OS.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.