Skip to content

Repository files navigation

Прогноз выработки

Решение хакатона по почасовому прогнозу выработки ветропарка на Ейском полуострове. Две задачи:

  1. Q1 2026 - почасовой прогноз за январь-март (2126 строк).
  2. 18.05.2026 - почасовой прогноз на один день (24 строки, оцениваемое окно 00:00-08:00 МСК).

Метрика: nMAE = MAE / 90.09 МВт * 100%. 90.09 МВт - суммарная установленная мощность станции (26 турбин Siemens Gamesa SG 3.4-132 по 3.465 МВт, высота ступицы 84 м).

Что в папках

  • pipeline/q1_task/ - код для прогноза первого квартала: физическая базовая модель, эмпирическая кривая мощности, четыре модели LightGBM и калибровка по бинам скорости.
  • pipeline/day18_task/ - код для прогноза на 18 мая: та же схема плюс лаги выработки (для Q1 они недоступны).
  • pipeline/common/ - общие признаки (физика турбины, плотность воздуха, сдвиг ветра).
  • experiments/active/, experiments/archive/ - журнал попыток с весами моделей и метаданными.
  • model/q1/, model/day18/ - артефакты финальных моделей и веса смешивания.
  • data/raw/ - исходные данные. data/processed/ - подготовленные parquet с физическими признаками. data/openmeteo_cache/ - кеш погодных прогнозов.
  • submissions/q1/q1_final.csv, submissions/day18/day18_final.csv - итоговые CSV.
  • REGISTRY.md - журнал экспериментов.
  • tests/, scripts/ - тесты и вспомогательные утилиты.

Установка

make install

Команда создаёт .venv/ и ставит зависимости из requirements.txt. Подходит для Linux, macOS, Windows. Нужен Python 3.10 или новее. Подробности в INSTALL.md.

Запуск

Оба прогноза одной командой:

python run.py

По отдельности:

python run_q1.py # Q1 2026
python run_day18.py # 18 мая 2026 (вариант org по умолчанию)

Альтернативный источник погоды для 18 мая (консенсус Open-Meteo):

python run_day18.py --variant om

Итоговые CSV окажутся в submissions/q1/q1_final.csv и submissions/day18/day18_final.csv.

Что внутри

Q1: одна модель LightGBM с минимизацией средней абсолютной ошибки. Около 500 признаков: физические (скорости ветра на 10/80/120/180 м, плотность воздуха, сдвиг ветра, направление, эмпирическая кривая мощности, ремонт) плюс согласование с пятью сторонними прогнозами погоды (GFS, ICON, ARPEGE, KNMI, DMI) с временными лагами от -48 до +48 часов. Обучение через k-fold по 12 группам месяцев. После - кусочно-постоянная поправка по бинам скорости ветра, посчитанная на проверочной части за 2023-2025.

18 мая: одна модель LightGBM на всей доступной истории (с 2022 по 17 мая 2026). Дополнительно - лаги выработки на 1 и 7 суток, скользящие средние со сдвигом, чтобы не подсматривать будущее. В варианте om погодные колонки на 18 мая заменяются согласованным средним нескольких моделей Open-Meteo (по локальному кешу).

Подробное описание - в POYASNITELNAYA_ZAPISKA.md. По дню 18 - отдельная записка docs/EXPLANATION_day18.md.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages