Об этом проекте

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.