NeuroTriage
Пайплайн почасового прогноза выработки двух турбин ВЭС на тестовый февраль 2026: архивные прогнозы Open-Meteo, CatBoost на каждую турбину, дневной…
О проекте
Команда: 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.mdAgentic AI: прогноз почасовой выработки ВЭС
Демо
Задача
Прогноз почасовой выработки ветроэлектростанции (2 турбины) на горизонте 24-48 часов, на основе исторических данных и архивных прогнозов погоды.
Данные
- Исторические данные по 2 турбинам: скорость ветра, температура, нормализованная активная мощность (10-минутные интервалы, март 2023 — январь 2026)
- Тестовый период: 1-28 февраля 2026, прогнозирование выполняется последовательно по дням
- Погодные прогнозы получаются агентом самостоятельно через Open-Meteo Historical Forecast API — используются архивные прогнозы, доступные на момент каждой даты (не фактическая погода задним числом)
Архитектура
src/weather_client.py— получение архивного прогноза погоды по координатам обеих турбин на конкретную датуsrc/data_loader.py— загрузка и агрегация исторических данных ВЭС (10-минутки → часы)src/features.py— генерация признаков (скорость ветра, куб/квадрат скорости, час, день недели, месяц)src/model.py— обучение и инференс модели CatBoost (отдельная модель на каждую турбину)src/agent.py— агентный цикл: получение прогноза погоды → подготовка данных → предсказание → сохранение результата → повтор на следующий день, для всего тестового периода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
Авторы коммитов
История коммитов
- 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 комментариев
Войдите, чтобы комментироватьПока нет комментариев — будьте первым.