AAYMA
RU
Войти

NeuroTriage

Пайплайн почасового прогноза выработки двух турбин ВЭС на тестовый февраль 2026: архивные прогнозы Open-Meteo, CatBoost на каждую турбину, дневной…

Рабочий MVP
Команда «NeuroTriage» 6💬 0 комментариевс 23 сентября 2026 г.

О проекте

Команда: NeuroTriage
Кейс HackAlem.ai: Энергетика — Самрук-Казына
Стадия: Рабочий MVP

Задача кейса: AI-агент, прогнозирующий выработку ветровой электростанции по погодным данным

Суть

Пайплайн почасового прогноза выработки двух турбин ВЭС на тестовый февраль 2026: архивные прогнозы Open-Meteo, CatBoost на каждую турбину, дневной агентный цикл и визуализация.

Как устроено

weather_client получает архивный прогноз Open-Meteo Historical Forecast API на каждую дату, data_loader агрегирует 10-минутные данные SCADA в часовые. Признаки: скорость ветра, её квадрат и куб, час, день недели, месяц. По каждой турбине обучается CatBoost. agent.py последовательно по дням выполняет цепочку «погода → признаки → предсказание → сохранение», результат пишется в forecast_output.csv. Есть FastAPI-эндпоинт и HTML-презентация.

Ключевые решения

  • CatBoost
  • feature engineering (v², v³)
  • Open-Meteo Historical Forecast API

Стек

Python · pandas · scikit-learn · CatBoost · FastAPI · matplotlib


Проект создан за 5 часов на финале хакатона HackAlem.ai (23 сентября 2026, Астана). Код — BAITC-Hacks/hack-ba95b6b1-neurotriage.

README

README.md

Agentic AI: прогноз почасовой выработки ВЭС

Демо

Открыть презентацию проекта

Задача

Прогноз почасовой выработки ветроэлектростанции (2 турбины) на горизонте 24-48 часов, на основе исторических данных и архивных прогнозов погоды.

Данные

  • Исторические данные по 2 турбинам: скорость ветра, температура, нормализованная активная мощность (10-минутные интервалы, март 2023 — январь 2026)
  • Тестовый период: 1-28 февраля 2026, прогнозирование выполняется последовательно по дням
  • Погодные прогнозы получаются агентом самостоятельно через Open-Meteo Historical Forecast API — используются архивные прогнозы, доступные на момент каждой даты (не фактическая погода задним числом)

Архитектура

  1. src/weather_client.py — получение архивного прогноза погоды по координатам обеих турбин на конкретную дату
  2. src/data_loader.py — загрузка и агрегация исторических данных ВЭС (10-минутки → часы)
  3. src/features.py — генерация признаков (скорость ветра, куб/квадрат скорости, час, день недели, месяц)
  4. src/model.py — обучение и инференс модели CatBoost (отдельная модель на каждую турбину)
  5. src/agent.py — агентный цикл: получение прогноза погоды → подготовка данных → предсказание → сохранение результата → повтор на следующий день, для всего тестового периода
  6. src/visualize.py — проверка выходных данных на адекватность и визуализация прогноза

Запуск

```bash pip install -r requirements.txt python -m src.main python -m src.visualize ```

Результат

  • data/forecast_output.csv — почасовой прогноз мощности по каждой турбине на весь тестовый период
  • forecast_plot.png — визуализация прогноза
  • models/catboost_T1.cbm, models/catboost_T2.cbm — обученные модели

Стек

Python, pandas, scikit-learn, CatBoost, requests (Open-Meteo API), matplotlib

Звёзды
⭐ 0
Форки
0
Язык
HTML
Последний push
в прошлом месяце
Коммиты
16
Авторы
2
Файлы
27
Ветки
1

Авторы коммитов

Shapagat10 10Damilya Kalidolda 6

История коммитов

  • 2026-09-23 17:42Resolve .gitignore conflictShapagat10
  • 2026-09-23 17:40debuggingShapagat10
  • 2026-09-23 17:39debuggingShapagat10
  • 2026-09-23 16:22add live netlify demo linkShapagat10
  • 2026-09-23 16:11add presentation site and readme linkShapagat10
  • 2026-09-23 16:06add final presentation siteShapagat10
  • 2026-09-23 15:57add live presentation siteShapagat10
  • 2026-09-23 15:27fix conflictShapagat10
Все коммиты (16)
  • 2026-09-23 15:23Add FastAPI endpoint and update visualizeShapagat10
  • 2026-09-23 15:04fix plot: dedupe overlapping forecast windows for clean visualizationDamilya Kalidolda
  • 2026-09-23 15:02add visualization moduleDamilya Kalidolda
  • 2026-09-23 14:49Merge branch 'main' of https://github.com/BAITC-Hacks/hack-ba95b6b1-neurotriageDamilya Kalidolda
  • 2026-09-23 14:47final README and submission-ready pipelineDamilya Kalidolda
  • 2026-09-23 14:36add visualization and output sanity checkShapagat10
  • 2026-09-23 14:21working pipeline: weather client, catboost per-turbine, daily agent loop, forecast outputDamilya Kalidolda
  • 2026-09-23 14:06wip: progress updateDamilya Kalidolda
Структура репозитория (27 файлов)
.gitignore
README.md
catboost_info/catboost_training.json
catboost_info/learn/events.out.tfevents
catboost_info/learn_error.tsv
catboost_info/time_left.tsv
dashboard.html
data/forecast_output.csv
data/turbine_1.csv
data/turbine_2.csv
forecast_plot.png
hack-ba95b6b1-neurotriage
models/catboost_T1.cbm
models/catboost_T2.cbm
neurotriage-final-fixed.html
neurotriage-final.html
neurotriage-live.html
requirements.txt
src/__init__.py
src/agent.py
src/api.py
src/data_loader.py
src/features.py
src/main.py
src/model.py
src/visualize.py
src/weather_client.py

Обсуждение 0 комментариев

Войдите, чтобы комментировать

Пока нет комментариев — будьте первым.