Итак, вас интересует анализ данных интеллектуальных счетчиков? Один из важных анализов, который вы можете сделать, - это сегментация потребителей с помощью кластеризации временных рядов спроса. В дальнейшем это может быть использовано для планирования сети, детального нацеливания на потребителей при реагировании на спрос или программ повышения энергоэффективности, выполнения вероятностного анализа потока нагрузки и т. Д.

Что такое кластеризация?

Кластеризация - это метод машинного обучения без учителя, который позволяет группировать (кластеризовать) похожие наблюдения вместе.

Основная цель - сгруппировать похожие наблюдения, чтобы легче было просматривать данные.

Подготовка данных

Во-первых, давайте попробуем разобраться с данными, с которыми мы имеем дело. В дальнейшем анализе мы будем использовать годовые данные интеллектуального учета с 15-минутным разрешением в течение прибл. 20 000 потребителей.

Как выглядит повседневное поведение домохозяйств?

Поначалу кажется, что отдельные потребители НН в повседневной жизни ведут себя случайным образом.

Анализируя несколько потребителей на уровне трансформаторной подстанции или на каком-либо другом более высоком уровне сети, можно определить форму типичных дневных профилей нагрузки. На рисунке ниже показан дневной профиль нагрузки для одного домохозяйства, за которым следуют дневные профили нагрузки для 10 и 200 домохозяйств. Мы видим, что при добавлении профилей нагрузки формы становятся более гладкими.

Поскольку мы хотим изучить привычки отдельных групп потребителей, нам нужно объединить только их профили нагрузки. Например, мы можем захотеть объединить дневные профили нагрузки только одного определенного типа однофазных домохозяйств.

Разделение входных данных

Потребители были разделены на две группы: однофазные и трехфазные домохозяйства. Поскольку нагрузки сильно зависят от температуры, профили нагрузки были дополнительно разделены по трем сезонам: зимой, между сезонами и летом. Итак, в итоге получается 6 матриц (2 типа потребителей за 3 сезона). Кластеризацию необходимо проводить для каждой матрицы отдельно.

Как мы выполняем кластеризацию?

Мы использовали хорошо известный алгоритм k-средних, но с одной модификацией. Типичная реализация k-средних, доступная в популярных библиотеках машинного обучения, использует евклидовы расстояния в качестве меры расстояния между наблюдениями. Но это не подходит для кластеризации временных рядов, поэтому мы использовали динамическую меру расстояния деформации времени.

Например, представьте себе случайный дневной профиль нагрузки с 15-минутным разрешением, представленный на левом подграфике предыдущего графика. Если мы хотим сгруппировать множество дневных профилей нагрузки в несколько групп, мы должны разрешить группировку профилей нагрузки, которые похожи в близких временных интервалах. Это кажется разумным, поскольку, если один дневной профиль нагрузки имеет вечерний пик, например, на 15 минут позже, чем другой, это все равно соответствует аналогичному поведению. Здесь и возникает динамическое искажение времени. Прекрасное объяснение того, почему динамическое искажение времени является подходящей мерой расстояния для данных временных рядов, доступно здесь. Математическое объяснение см. В этой статье.

Как выглядит входная матрица (характеристики)?

Поскольку у нас есть данные с 15-минутным разрешением, каждый 15-минутный интервал времени представляет одну функцию, следовательно, имеется 96 функций (поскольку в день выполняется 96 измерений).

Что такое наблюдения (строки) в нашем случае?

Ежедневные профили нагрузки для всех выбранных потребителей. Например. для однофазного домохозяйства в зимнее время: если у нас 100 зимних дней и 10.000 однофазных домохозяйств, это дает нам 1.000.000 рядов. Таким образом, входная матрица имеет форму 96 x 1.000.000.

Результаты кластеризации

Результаты кластеризации предоставляют метку соответствующего кластера для каждого дневного профиля нагрузки.

На рисунке ниже показаны результаты для одного домохозяйства. В верхнем левом углу показаны все дневные профили нагрузки для выбранного потребителя в зимнее время со средним профилем нагрузки, нанесенным на вторичную ось Y. На других подзаголовках показаны профили, соответствующие каждому из кластеров. Этот потребитель в основном ведет себя в соответствии с кластером 0 (примерно в 70% случаев), поэтому средний зимний профиль в верхнем левом углу очень похож на профиль в нижнем левом углу.

После вычисления окончательных центроидов кластера отдельно для однофазных и трехфазных домохозяйств мы можем построить график результатов. На рисунке ниже показаны результаты. Количество кластеров определялось вручную. Если мы посмотрим на результат для однофазных домохозяйств в левой части рисунка, мы увидим, что центроид синего кластера, вероятно, представляет поведение пожилых людей, которые наиболее активны в полдень, когда они обедают. Оранжевый отображает поведение людей, у которых типичный 8-часовой рабочий график. Когда они просыпаются, спрос увеличивается, затем снижается в середине дня и, наконец, увеличивается во второй половине дня, когда они возвращаются домой. Последний график, отмеченный зеленым цветом, вероятно, отражает поведение студентов (неработающих людей), активность которых прогрессирует в течение дня. Центроиды кластера для трехфазных домохозяйств в правой части рисунка очень похожи, но с большим количеством профилей, которые менее колеблются в течение дня, что, вероятно, связано с тем, что в некоторых случаях мелкие коммерческие потребители или небольшие фермы регистрируются как 3-х фазное хоз.

Если мы посмотрим, как выглядят все дневные профили нагрузки в кластере 0, мы увидим график ниже. Здесь я нарисовал все профили тонкими и маленькими прозрачными линиями, чтобы увидеть контуры типичного поведения.

Хотите увидеть больше крутых сюжетов?

Предполагая, что вам нравятся классные визуализации данных, посмотрите еще один потрясающий график ниже. После вычисления кластеров функции плотности вероятности загрузки (PDF) могут быть исследованы для каждого кластера, чтобы использовать их в дальнейшем вероятностном анализе потока нагрузки. Здесь вы можете увидеть результаты для однофазных домашних хозяйств в зимнее время - кластер 0. По оси абсцисс отложена нагрузка в кВт, по оси ординат - часы дня и плотность вероятности нагрузки по оси z. Если вы посмотрите на черный PDF-файл в полночь, можно увидеть, что вероятность загрузки выше нуля, поскольку люди спят. Красный PDF представляет нагрузки в 6 утра, видно, что нагрузки становятся выше с тех пор, как люди начинают просыпаться. Синие и зеленые представляют собой PDF-файлы в 12:00 и 18:00.

Заключение

Используя методы группирования (кластеризации) машинного обучения, типичные дневные профили нагрузки могут быть определены из большого количества входных данных. Это позволяет различать разные типы домохозяйств и других потребителей.

Анализ данных измерений со смарт-счетчиков позволяет лучше понять поведение потребителей. Результаты могут быть использованы в дальнейшем для различного анализа.

Есть ли у вас какие-либо предложения по выполнению кластеризации временных рядов или какие-либо другие комментарии, которые вы хотите добавить? Пожалуйста, оставьте комментарий ниже.

Если вас интересует эта тема, вы также можете присоединиться к группе LinkedIn под названием AI in Smart Grids, где я пишу на эту тему.

Дополнительные сведения о кластеризации временных рядов вы можете найти в двух моих статьях, в которых я использовал кластеризацию:

М. Grabner et al., Улучшенная модель для прогнозирования пространственной нагрузки словенской распределительной сети, представленная на CIRED в Глазго, 2017 г.

М. Грабнер и др., Статистический анализ временных рядов нагрузки для управления спросом, (будет) представлен на конференции IEEE ISGT в Сараево, 2018.