Обучили нейросеть предугадывать потребление энергии
Решили прикладную задачу энергетического предприятия с помощью модели программирования и добились точности предсказаний в 96%.Клиент
Норвежская компания Baseline Energy занимается розничной поставкой электроэнергии: закупает электричество на оптовом рынке и продает организациям и физлицам.
Чтобы правильно рассчитывать объем закупок у поставщика, компании клиента требовался инструмент прогнозной аналитики. В 2021 году Baseline Energy обратилась к нам за разработкой решения по прогнозированию на базе машинного обучения. Предиктивная аналитика – профильная область Zuzex.
Вызовы
До этого Baseline Energy прогнозировала энергопотребление ручным способом. Затем отправляла заявки производителю с информацией о том, сколько планирует закупить электроэнергии в отчетный период. Точность ручного прогноза составляла ~92%. Отклонение фактического количества от прогнозируемого для Baseline Energy означало дополнительные расходы.
Чем точнее будет наш ML-прогноз, тем меньше непредвиденных трат в будущем понесет Baseline Energy. И тем эффективнее будет решение, которые мы разработали.

1. Обучение нейросети
Первый вызов – обработать сложные Excel-таблицы и отобрать «правильные» данные. Затем на их основе создать датасеты и обучить нейросеть.

2. Точность
Второй вызов – повысить точность почасового прогнозирования. После обучения нейросети сравнить прогноз, который выдает модель, с текущим уровнем точности. Если добьемся показателя выше 92%, то задача клиента будет решена.
Как мы обучали прогнозную модель
Этап 1. Сбор данных
Baseline Energy предоставила данные по потреблению и производственной загрузке за два последних года. Отдельно мы выделили статистику за выходные и праздничные дни. Взяли метеорологические данные, чтобы точнее оценить погодную зависимость и сезонность.
Этап 3. Запуск и сравнение
Выбрали архитектуру, построили модель, подали в нее данные. Обученную модель проверяли на свежих данных, которые отправляла нам Baseline Energy. Сравнивали прогнозы на тестовой выборке с ручным прогнозом от Baseline Energy и фактическим электропотреблением в одно и то же время.
Этап 2. Обработка данных
С помощью Python мы привели эти данные к «общему знаменателю», отобрали наиболее полезные, уменьшили размерность и собрали наборы.
Дополнили готовыми данными из открытых библиотек, чтобы упростить анализ:
– Для препроцессинга (предварительной обработки) и регрессии (прогнозирования по уже имеющимся данным) использовали пакет Scikit-Learn.
– Для обнаружения выбросов (аномалии, которые могли бы исказить статистические данные) – пакет Outlier Detection (PyOD).
Этап 4. Получение результатов
Нам удалось добиться отличной статистической репрезентативности предсказаний.
Значения метрики расхождения Кульбака-Лейблера на обучающей и тестовой выборках для разных MeasuringPointID (MPID) находились в диапазоне [0,01, 0,05].
Если проще – цифра говорит о качестве статистической сходимости алгоритма.
Технологии
Бэкенд
Python
Бэкенд
Django
Библиотека
Scikit-Learn (sklearn)
Библиотека
XGBoost
База данных
PostgreSQL
Инфраструктура
Google Cloud Platform
Результат
Благодаря Baseline Energy Application Service (BEAS) – аналитической системе, которую мы создали, – точность показателей будущего электропотребления повысилась до 96%. Что, в свою очередь, помогло клиенту улучшить качество управления электроснабжением и снизить издержки.
BEAS – это система машинного обучения с API, которая предоставляет:
- бизнес-аналитику, собранную в удобные дашборды, – например, фактическое потребление кВтч на всех объектах, которые обслуживает Baseline Energy;
- прогнозы для MeasuringPointID (MPID);
- идентификаторы местоположения в сети электропередач (GLID).
точность прогноза.
Оранжевая кривая – реальные данные,
желтая кривая – предсказания BEAS.
Что происходит дальше:
Мы получаем запрос, обрабатываем его в течение 24 часов и связываемся по указанным вами e‑mail или телефону для уточнения деталей.
Подключаем аналитиков и разработчиков. Совместно они составляют проектное предложение с указанием объемов работ, сроков, стоимости и размера команды.
Договариваемся с вами о следующей встрече, чтобы согласовать предложение.
Когда все детали улажены, мы подписываем договор и сразу же приступаем к работе.