Описание
N-BEATS — это сложная модель на основе нейронных сетей, специально разработанная для прогнозирования одномерных временных рядов. Она представляет собой значительный вклад от ServiceNow Research, корни которого уходят в Element AI. Проект направлен на предоставление надежной реализации алгоритма N-BEATS, позволяющей исследователям и практикам воспроизводить экспериментальные результаты, представленные в соответствующей статье.
Репозиторий структурирован для обеспечения легкого доступа и использования. Основная реализация модели N-BEATS на PyTorch находится в файле `models/nbeats.py`. Для обработки данных загрузчики наборов данных для различных наборов данных, используемых в статье, расположены в каталоге `datasets/*.py`. Каталог `experiments/*` содержит экспериментальные настройки, необходимые для воспроизведения результатов статьи, каждый из которых включает скрипт `main.py` для логики обучения и прогнозирования, а также файлы конфигурации для общих и интерпретируемых вариантов модели.
Результаты и метрики производительности документированы в каталоге `notebooks`, с выделенным блокнотом для каждого эксперимента. Эти блокноты демонстрируют окончательные оценки и дают представление об эффективности различных размеров ансамблей, отмечая, что меньшие ансамбли часто дают сопоставимые результаты с большими. Эта реализация описывается как «облегченная» версия оригинальной N-BEATS, предлагающая производительность, которая в целом находится на том же передовом уровне, с периодическими вариациями результатов.
Проект подчеркивает воспроизводимость с помощью Docker, делая его доступным для пользователей как с графическими процессорами NVIDIA, так и без них. `Makefile` предоставляет команды для инициализации образа Docker, загрузки наборов данных, запуска тестов, создания экспериментов и выполнения прогнозов как на ЦП, так и на ГП. Подробные инструкции предоставляются для настройки среды, сборки образа Docker, загрузки наборов данных и запуска экспериментов с настраиваемыми параметрами, такими как количество повторений и периоды упреждения. Результаты экспериментов, включая журналы, потери, снимки и окончательные прогнозы, хранятся в каталоге `storage/experiments`.
N-BEATS особенно ценна для специалистов по данным, инженеров машинного обучения и исследователей, занимающихся анализом временных рядов, прогнозированием и предиктивным моделированием. Ее интерпретируемость и передовая производительность делают ее мощным инструментом для понимания и прогнозирования будущих тенденций в одномерных данных в различных областях.
Главное о N-BEATS
Модель на основе нейронных сетей для прогнозирования одномерных временных рядов
Реализация алгоритма N-BEATS
Воспроизводимые экспериментальные результаты
Доступна реализация на PyTorch
Загрузчики наборов данных для различных наборов данных
Файлы конфигурации для общих и интерпретируемых моделей
Поддержка Docker для настройки среды
Поддержка выполнения на ЦП и ГП
Подробные инструкции для воспроизведения
Хранилище для журналов экспериментов, потерь и прогнозов
Начало работы с N-BEATS
Настройка среды: Убедитесь, что Docker установлен, и настройте Makefile для вашей среды.
Сборка образа Docker: Запустите `make init` для сборки образа Docker.
Загрузка наборов данных: Выполните `make dataset` для загрузки необходимых наборов данных.
Создание эксперимента: Используйте `make build config=<path_to_config.gin>` для генерации конфигураций экспериментов.
Запуск экспериментов: Используйте `make run command=<path_to_command>` для ЦП или `make run command=<path_to_command> gpu=<gpu-id>` для ГП.
Получение статистики эксперимента: Запустите блокнот JupyterLab через `make notebook port=<port>` для анализа производительности.
Варианты использования N-BEATS
- Прогнозирование временных рядов
- Предиктивная аналитика
- Прогнозирование спроса
- Финансовое прогнозирование
- Планирование ресурсов







