Skip to content

Repository files navigation

Баттл моделей прогнозирования

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

Обзор

Этот проект предоставляет гибкую основу для прогнозирования временных рядов с использованием различных моделей, включая ARIMA, Holt-Winters, Prophet, TBATS и методы ensemble. Система предназначена для работы с различными форматами CSV и может автоматически определять сезонность и трендовые компоненты.

Особенности

Установка

Предварительные требования

  • Python 3.7+
  • Необходимые пакеты указаны в requirements.txt

Настройка

# Клонирование репозитория
git clone https://github.com/20saaa02/Battle.git
cd Battle

# Установка зависимостей
pip install -r requirements.txt

Использование

Основное использование

python main.py --input data/example.csv --horizon 12

Расширенное использование

# Запускайте только определенные модели
на python main.py ----input data/data.csv --horizon 24 --models "arima,prophet,ensemble"

# Запустить все модели (по умолчанию)
python main.py --input data/data.csv --horizon 12 --models "arima,holt,prophet,tbats,ensemble"

Аргументы

  • "--input": путь к входному CSV-файлу (обязательно)
  • --horizon: количество точек для прогнозирования (обязательно)
  • "--models": список моделей, которые нужно запустить, разделенный запятыми (по умолчанию: все модели)

Поддерживаемые модели

  • arima: Автоматическая ARIMA с определением сезонности
  • holt: Экспоненциальное сглаживание Холта-Уинтерса
  • prophet: Facebook Prophet
  • tbats: модель TBATS
  • ensemble: совокупность всех остальных моделей

Формат входных данных

Система поддерживает два формата CSV:

Формат 1: Один столбец

`` value 112 118 132 129 ...


### Формат 2: Пары Дата-значение
``
date, value
2023-01-01,112
2023-01-02,118
2023-01-03,132
...

Вывод

Программа генерирует файл "forecast.csv", содержащий прогнозы по всем выбранным моделям:

arima,holt,prophet,tbats,ensemble
125.3,127.1,124.8,126.2,125.85
128.7,129.4,127.9,128.1,128.52
...

Для создания одной колонки необходимо запустить файл visualization.ipynb

Структура проекта

forecasting-models-battle/
├── main.py                 # Главная точка входа
├── requirements.txt        # Зависимости Python
├── visualization.ipynb        # Визуализация временного ряда и прогнозов
├── data/                
│   ├── example.csv            # Файл с образцами данных
├── models/                # Реализации моделей
│   ├── arima_model.py     # ARIMA 
│   ├── holt_winters_model.py  # Holt-Winters
│   ├── prophet_model.py   # Prophet
│   ├── tbats_model.py     # TBATS
│   └── ensemble_model.py  # Ensemble
└── utils/                 # Служебные функции
    └── preprocessing.py   # Предварительная обработка данных

Участники

  • [Шарова Алёна Витальевна]: Весь проект (реализация модели, предварительная обработка данных, методы ансамбля тестирование, оптимизация, документация)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages