Хакатон “Светлый путь”
на УБС 2025 в Тамбове
Detailed Analysis of Energy Consumption for an Office Building�N Bazenkov, I Petrov
На основе собранных Центром за 2021 г. данных подготовлено исследование, посвящённое описанию и анализу этих данных. Результаты доложены на конференции International Conference on Mathematical Modeling in Physical Sciences September 30 - October 3, 2024, и планируются к публикации в IOP JPCS и Springer POMS.
Были проанализированы еженедельные и ежемесячные тенденции, типичные закономерности в потреблении электроэнергии и проводим приблизительный анализ того, какие классы у потребителей электроэнергии наиболее активны в определенные периоды времени.
Наблюдается дневная, недельная периодичность и сезонные колебания. Средняя нагрузка в рабочие дни больше на 25%, а максимальная – на 38%, чем в выходные. Зимнее и осеннее потребление отличается от весеннего и летнего
Соревнование по анализу данных центра в рамках конференции УБС-2023
Подготовлено соревнование по анализу данных центра в рамках конференции УБС-2023. Участникам предлагалось решить задачу прогнозирования энергопотребления на основе данных электрических счетчиков, установленных в зданиях Института. В рамках конференции были проведены вводная лекция (1.5 часа) и итоговое собрание с обсуждением решений, вопросами от участников и ответами организаторов и Директора Института. На решение задачи отводилось 40 часов. В итоге от 11 участников было зарегистрировано 149 решений. Список победителей:
Описание соревнования и итоговые результаты доступны на платформе kaggle (https://www.kaggle.com/competitions/challenge23/leaderboard).
Прототип веб-приложения для интерактивного анализа данных о микроклимате и энергопотреблении доступен из внутренней сети Института по ссылке http://193.232.208.53:3838/energy/, для внешних пользователей - https://lab79.shinyapps.io/Energy/. Инструменты - R/Shiny (Javascript + CSS + HTML + R).
Прототип веб-приложения на основе Flask (Python) и React (JavaScript)
Тестовый деплой основного приложения: https://energy-web-app-m79t.onrender.com/
Код основного приложения: https://github.com/Astronomax/energy-web-app
Инструменты – Flask/React (JavaScript + CSS + HTML + Python).
В данный момент на платформе доступны агрегированные данные с метеостанции и микроклиматических датчиков за 2021 год. В скором времени (январь 2024) будут добавлены данные за 2022 и 2023 гг.
В дальнейшем предполагается, что прототип 1 будет использован в дополнение к полигону «Умная комната»; прототип 2 – продолжает дорабатываться.
Пример загрузки алгоритма в веб-приложении на основе Flask (Python) и React (JavaScript)
Прототип веб-приложения на основе R и Shiny для интерактивного анализа данных о микроклимате и энергопотреблении
Прототипы веб-приложений
Наша IoT платформа = SCADA
IoT-платформа Thingsboard выполняет функции SCADA и имеет функционал анализа данных. Но!
Наше ПО
Общая идея�Разработка программного обеспечения для анализа данных об энергопотреблении.
SCADA (аббр. от англ. supervisory control and data acquisition — диспетчерское управление и сбор данных).
Классификация ПО*
Единый реестр российских программ для электронных вычислительных машин:
11. Средства анализа данных.
11.03 Средства аналитической обработки в реальном времени (OLAP).
11.04 Средства интеллектуального анализа данных (Data Mining).
11.05 Средства поддержки принятия решений (DSS).
*Приказ Министерства цифрового развития, связи и массовых коммуникаций РФ от 22.09.20 №486
Общая идея: детали архитектуры ПО�Разработка программного обеспечения для анализа данных об энергопотреблении
Вне зависимости от выбранного вида ПО, эффективно разделить архитектуру на 2 составляющие по модели локальных вычислительных сетей (ЛВС):
Сетевой оркестратор /
планировщик задач
Объект
ЛВС №1 – то, что есть у клиента
ЛВС №2 – то, что должно составлять ПРОДУКТ ИПУ
Получение данных,
Extract
Transform
Load
тонкие клиенты, рабочие места, телеграм-боты и т.д.
Архив предобр. данных,
СУБД для OLAP
Блок алгоритмов анализа
Архив результатов анализа, СУБД для визуализации
– блоки, для которых имеются прототипы или опыт создания (но их, всё равно, надо будет трансформировать)
Планировщик задач сетевой оркестратор
Автоматизирует взаимодействие между сетями, людьми, устройствами, приложениями и системами в рамках создаваемой инфраструктуры.
Содержит в себе (зависит от):
– информацию об устройстве объекта;
– расписание обновления данных;
– сценарии взаимодействия клиента и продукта.
Варианты реализации:
– Apache Airflow;
– Apache Kafka;
– Luigi;
– KuberFlow.
Некоторые задачи для оркестратора общей системы:
Контроль состояния инфраструктуры и автоматический запуск реагирования: слежение за непрерывностью работы отдельных блоков.
Управление пользователями и доступами: исключение человеческого фактора.
Автоматическое реагирование на инциденты: перезапуск ПО, информирование сотрудников поддержки.
Централизованное управление обновлениями и конфигурациями. Поддержание баз данных в актуальном состоянии.
Автоматизация резервного копирования и восстановления данных. Комментарии излишни.
Преобразование данных. Extract Transform Load
Состоит из трех подсистем - скачивания данных, преобразования данных и планировщик задач (м.б. будет использоваться оркестратор системы)
Задачи при проектировании и разработке
– Понимание бизнес-требований к данным.
– Анализ источников данных (базы данных, API, файлы и т.д.).
– Определение структуры целевой системы (например, хранилища данных, Data Lake).
Вариант реализации
– Python + SQL (самописный модуль)
– Apache Airflow
– Talend Open Studio
– Pentaho Data Integration
Задачи модуля ETL:
– подключение в БД клиента, возможно несколько БД;
– анализ структуры данных в БД;
– анализ качества “сырых” данных (поиск пропусков, возможности интерполяции);
– синхронизация данных во времени;
– отправка результатов в БД хранения.
Архив предобработанных данных. OLAP-DB
Представляет собой инфраструктуру для быстрой аналитической обработки больших объемов данных.
Задачи при проектировании и разработке
– Разработка структуры таблиц, оптимизация.
– Интеграция с модулем анализа и модулем ETL.
– Анализ и переписывание "тяжелых" запросов.
– Настройка кэширования запросов, предагрегатов, OLAP-кубов.
Вариант реализации
– Postgres
– Clickhouse
– др., напр. HDFS, Vertica, BigQuery, Druid, SSAS
Задачи модуля АРХИВ:
– хранение скачанных от клиента данных;
– обеспечение данными алгоритмов анализа.
Блок алгоритмов
Предлагаемые принципы анализа:
многомерность, декомпозиция и агрегация данных
– Многомерность означает, что данные анализируются по различным измерениям, таким как время, вид энергии, вид потребителя, регион и др.
– Декомпозиция подразумевает разбивку данных для проведения более детального анализа.
– Агрегация позволяет объединять данные в более крупные группы для получения общей картины.
Состав блока анализа
Блок анализа – инструмент для реализации на практике тех исследований, которые проводятся/проводились научными сотрудниками ИПУ РАН в области электроэнергетики. Это должен быть не один раз написанный “монолит”, а платформа для создания и запуска алгоритмов. Гибкость такого подхода позволит создать эволюционирующий под требования заказчика продукт.
Варианты реализации:
Набор библиотек на ЯП
– Python
– C
– …
Визуализация / тонкий клиент
Набор инструментов для отображения данных из Архива 2 там, где пожелает заказчик. Это может быть отдельно устанавливаемое приложение, веб-страница, Telegram-бот и т.д. Возможен конструктор пользовательского анализа, который будет запускаться по запросу клиента.
Варианты исполнения:
– Скрипт синтеза статического отчета в pdf, рассылка по почте
– Статические страницы + библиотеки отрисовки
– Сторонний конструктор дашбордов
– Базовый web-движок, динамические алгоритмы компоновки страниц, вызов анализа “по клику”
– Телеграмм-боты
Этап 1
Предобработка данных
Этап 2
Анализ данных
Динамика объемов данных внутри модуля
Исходные объемы данных
Объемы данных на выходе