Задача анализа данных для идентификации топологии энергосети.
Исходные данные
В качестве основного набора данных предоставлен файл ubs2025.csv.gz, содержащий 2 274 876 504 строк. Для удобства обработки этот файл разделен на 10 частей.
Для первоначальной апробации и отладки алгоритмов доступен облегченный файл aggregated_data, содержащий данные, агрегированные по минутным интервалам за определенный промежуток времени.
Структура данных
Данные за период с марта по июнь 2024 года были экспортированы из NoSQL базы и собраны в единую таблицу. Её структура представлена следующими полями:
- entity_type: Тип сущности (например,
DEVICE). - entity_id: Уникальный идентификатор сущности.
- key: Ключ.
- partition: Партиция.
- ts: Метка времени (timestamp).
- bool_v, dbl_v, json_v, long_v, str_v: Колонки со значениями различных типов (логическим, числовым с плавающей точкой, JSON, целочисленным, строковым). В приведенном примере заполнено поле
dbl_v.
Пример данных:DEVICE, 468fcc20-4692-11ea-bd76-a73c738b665f, phi3, 1711929600000, 1712829605015, , -0.687DEVICE, 468fcc20-4692-11ea-bd76-a73c738b665f, phi3, 1711929600000, 1712829610015, , -0.688
Контекст и постановка задачи
Каждый уникальный entity_id в наборе данных соответствует отдельному прибору учёта (электросчетчику), установленному в здании. Все счетчики расположены в различных точках ветвления электросети.
Инфраструктура объекта включает три понижающие подстанции 10/0.4 кВ, однако часть из них может быть выведена в резерв. На момент сбора данных в работе находились только два трансформатора.
Принадлежность каждого счетчика к конкретному трансформатору указана в файле devices.csv.
Ключевая задача хакатона — разработать алгоритм (численно black box approach, или подкрепить его аналитически grey box approach), который способен определить, к какому трансформатору принадлежит каждый индивидуальный счетчик, а в перспективе и восстановить топологию энергосети.
Во время хакатона будут приниматься результаты работы алгоритма, которые должны соответствовать шаблону. Данный файл сгенерирован случайным образом.
Предлагаемый трехуровневый подход к решению
Решение предлагается реализовать в три этапа, последовательно переходя от более простых сценариев к более сложным.
- Этап 1: Решение с использованием частичной априорной информации.
Использование файла train.csv для части устройств по аналогии с подключением нового устройства к уже функционирующей и настроенной системе. - Этап 2: Решение без использования файла принадлежности, но с учетом известной информации о числе цепей.
Решение задачи без файла train.csv, но с использованием известного факта о том, что ветвление цепи осуществляется всего на две линии. Данный подход применим для объектов, по которым отсутствует проектная документация. - Этап 3: Решение без использования какой-либо априорной информации.
Решение задачи, основанное исключительно на анализе показаний счетчиков. На данном этапе необходимо применить методы кластеризации и обучения без учителя (unsupervised learning) для автоматического выявления структуры сети.