С недавним увеличением числа интеллектуальных счетчиков в жилых секторах у нас есть большие общедоступные наборы данных. Имея такие данные, энергопотребление отдельных домохозяйств можно отслеживать практически в режиме реального времени.

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

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

Используются 4 подхода:

  • Авторегрессия (модель дополненной реальности)
  • Поддержка векторной регрессии
  • Линейная регрессия
  • Случайный лес

давайте продвинем наше обсуждение к представлению проекта.

Введение

С появлением новых гаджетов и стремлением к более масштабным проектам электрификации во всем мире энергопотребление растет во всем мире. (https://data.worldbank.org/indicator/EG.USE.ELEC.KH.PC).

Таким образом, мы также можем ожидать, что энергопотребление домохозяйств или жилых домов будет расти. С более широким доступом к глобальным данным о энергопотреблении прогнозирование энергопотребления становится все более сложной задачей.

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

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

Хотя исследование показало многообещающие алгоритмы DL (Tae-Young Kim and Sung-Bae Cho, 2019), мы не будем рассматривать эти алгоритмы для этого проекта.

Четыре подхода машинного обучения показывают большие перспективы в этом типе прогнозирования. (Хотя иногда многообещающим является даже сочетание нескольких подходов). Эти подходы:

Авторегрессия

Теоретически модели ARIMA чаще всего используются для прогнозирования будущих значений данных временных рядов. Бокс и Дженкинс первыми популяризировали модель ARIMA. Он прогнозирует будущие значения временного ряда как линейную комбинацию его собственных прошлых значений и/или лагов ошибок прогноза (также называемых случайными шоками или инновациями).

Бокс и Дженкинс заявили, что эти модели не включают независимые переменные, а скорее используют информацию в ряду для создания прогнозов. Следовательно, модели ARIMA зависят от моделей автокорреляции в ряду.

Регрессия опорных векторов (SVR)

SVR — это реализация SVM для прогнозирования непрерывных выходных данных. В SVR мы используем маржу так же, как и в SVM. Этот запас вокруг целевой гиперплоскости означает величину ошибки, которая допустима при прогнозировании.

Этот запас определяется параметром ϵ (на изображении выше) SVR. Экземпляры, попадающие в пределы допустимого, не несут никаких затрат; вот почему мы называем потери «нечувствительными к эпсилон».

SVR — это алгоритм регрессии оптимальной маржи, который может хорошо работать даже с нелинейными данными (с соответствующими хитростями ядра). (X. M. Zhang et al, 2018) показали многообещающие результаты по аналогичным задачам.

Линейная регрессия

Линейная регрессия пытается подобрать строку в данных. Если целевая функция линейна по своей природе, линейная регрессия выполняется быстро с небольшой корреляцией между функциями.

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

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

Случайный лес

Алгоритм случайного леса основан на дереве решений. Дерево решений очень быстрое, но склонно к переоснащению.

Random Forest используется только для решения этой конкретной причины. Короче говоря, используя метод под названием «Boot-Strap Aggregation» или «Бэггинг», мы берем случайные выборки из общего набора данных с заменой. Каждая случайная выборка затем подгоняется к дереву решений. Для вывода мы объединяем результат каждого дерева решений, чтобы получить один результат.

Чем больше деревьев в лесу увеличивается, тем больше вероятность того, что деревья имеют перекрывающиеся обучающие наборы. Однако преимущество заключается в том, что в процессе прогнозирования подается больше голосов, что снижает ошибку обобщения. Показано, что с увеличением количества деревьев точность приближается к теоретическому пределу леса (Л. Брейман, 2001).

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

Анализ и визуализация набора данных

Набор данных Потребление электроэнергии домохозяйством представляет собой набор данных многомерного временного ряда, описывающий потребление электроэнергии одним домохозяйством за четыре года.

Этот набор данных содержит поминутные данные о потреблении энергии для одного домохозяйства в Со (7 км от Парижа, Франция) в период с декабря 2006 г. по ноябрь 2010 г. (47 месяцев).

Это многомерный ряд, состоящий из семи переменных (помимо даты и времени):

1. date: Дата в формате дд/мм/гггг

2. время: время в формате чч:мм:сс

3. global_active_power: усредненная по минутам активная мощность домохозяйства (в киловаттах)

4. global_reactive_power: усредненная по минутам реактивная мощность домохозяйства (в киловаттах)

5. напряжение: усредненное за минуту напряжение (в вольтах)

6. global_intensity: усредненная по минутам сила тока для домохозяйства (в амперах)

7. sub_metering_1: подсчет энергии №1 (в ватт-часах активной энергии) соответствует кухне, в которой в основном есть посудомоечная машина, духовка и микроволновая печь (плиты не электрические, а газовые).

8. sub_metering_2: субучет энергии №2 (в ватт-часах активной энергии) соответствует прачечной, в которой есть стиральная машина, сушилка, холодильник и свет.

9. sub_metering_3: подсчет энергии №3 (в ватт-часах активной энергии) соответствует электрическому водонагревателю и кондиционеру.

Мы можем предположить, что Напряжение * Ток = Мощность должно давать линейную зависимость между ними, что подтверждается ниже.

Поскольку напряжение и ток однозначно определяют активную мощность, эти 2 функции отбрасываются, поскольку использование такой модели бесполезно.

Реактивная мощность — это общая потеря мощности из-за всех приборов, которая распределяется довольно случайным образом.

Но общая тенденция, которую мы видим, такова: реактивная мощность ‹‹ активная мощность. Итак, в конечном счете, под активной мощностью понимается только эта мощность, которая измеряется.

Теперь на приведенном ниже графике показана активная мощность в сравнении с суммой 3-х измеренной мощности. Мы видим, что активная мощность всегда › SUM (Metered Power). Таким образом, делаем вывод, что учетная мощность – это часть активной мощности, а остальная часть – неучтенная мощность.

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

Далее мы исследуем время и активную мощность:

Из графика видно, что наибольшее энергопотребление приходится на 21:00, а второй пик приходится на 9:00. В месячном масштабе мы замечаем, что август в среднем имеет самое низкое энергопотребление.

Ежегодные тенденции показывают, что общее среднее энергопотребление несколько снижается в этот период времени.

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

Сравнительный анализ и предлагаемый план

Для сравнительного анализа использовался параметр R2.

R2 определяется как:

Альтернативно,

Таким образом, мы можем интерпретировать оценку R2 как величину дисперсии результатов, объясненную моделью. Например, показатель R2, равный 1, означает, что модель объясняет 100 % дисперсии данных. Поэтому мы стараемся сделать оценку R2 как можно выше. Однако то, о чем нам не говорит показатель R2, так это о том, насколько хороша отдельная модель.

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

Теперь давайте перейдем к модели один за другим.

Модель АРИМА

Модель ARIMA (p, d, q) имеет три параметра. Параметр AR «p» представляет порядок авторегрессионного процесса, параметр I «d» представляет порядок разности для получения стационарных рядов, если ряды нестационарны, а параметр MA «q» представляет порядок процесса скользящего среднего. Авторегрессия вращается вокруг регрессии переменной по ее предыдущим условиям. Параметр модели I обычно применяется, когда данные в выборке нестационарны. Если ряды стационарные, то d=0, а если ряды стационарные, то d=1 и т.д. Параметр скользящего среднего указывает, что переменная линейно зависит от текущих и прошлых значений стохастического члена.

Кроме того, в модели авторегрессии мы полагались на функцию частичной автокорреляции, также известную как PACF, а со скользящими средними мы полагаемся на функцию автокорреляции или сокращенно ACF. Чтобы получить представление о значениях Lag, которые мы должны взять, мы построим графики PACF и ACF.

здесь в основном мы сосредоточимся на модели AR, что означает, что мы должны сосредоточиться на том, чтобы получить и наблюдать параметр AR «p» PACF (график частичной автокорреляции); после получения значения «p» и обучения нашей модели AR этому прогнозу мы получим:

это может показаться таким неясным из приведенного выше графика, поэтому давайте посмотрим на это с увеличением.

Это выглядит намного лучше; как мы видим, линия синего цвета показывает фактическое значение, а линия красного цвета показывает прогнозируемое значение. Мы также можем наблюдать, насколько близко предсказанное к фактическому значению, хотя оно по-прежнему дает нам оценку R2 0,433 и среднеквадратичное отклонение 32,77, что не то, что мы ищем, поэтому давайте попробуем увидеть и другие модели.

Поддержка модели векторной регрессии и линейной регрессии

В регрессии опорных векторов мы используем поля так же, как SVM. Этот запас вокруг целевой гиперплоскости означает величину ошибки, которая допустима при прогнозировании. Параметр ϵ SVR определяет этот запас. Экземпляры, попадающие в этот диапазон, не несут никаких затрат; вот почему мы называем потери «нечувствительными к эпсилону». И именно поэтому нас не интересуют точки, лежащие в пределах этого поля. Идея SVR заключается в вычислении линейной регрессии в пространстве высокой размерности, где точки входных данных отображаются с использованием нелинейной функции.

В этом подходе мы использовали 5-кратное разделение данных, чтобы лучше понять, как модели SVR и LR ведут себя для разных складок.

Итак, давайте используем SVR и линейную регрессию для одних и тех же наборов данных и сравним их производительность.

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

Модель случайного леса

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

Случайный лес объединяет выходные данные нескольких деревьев решений с использованием начальной загрузки или бэггинга. Мы случайным образом выбираем несколько подмножеств точек данных с заменами, обучаем каждую модель с 1 подмножеством данных, а затем берем среднее значение выходных данных каждой модели.

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

Количество деревьев также имеет значение, так как большее количество деревьев требует больше времени, но является более точным. Здесь мы выбрали максимальную глубину = 15, количество деревьев = 200, а затем попытались построить RMSE как

Как мы видим, RMSE для этой модели довольно низкий. Кроме того, показатель R2, который мы получили, составляет R2=0,87, что является довольно высоким и довольно хорошим показателем. Таким образом, в целом мы видим, что случайный лес дает наилучшие результаты примерно при R2 = 0,87, что является лучшей производительностью среди всех моделей.

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

Теперь мы можем сделать вывод, что авторегрессия показала худшие результаты, а случайный лес показал лучшие результаты с максимальным показателем R2 и минимальным среднеквадратичным отклонением в нашем наборе данных. Что дальше?

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

Прогнозирование с использованием модели случайного леса

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

Гиперпараметры: количество деревьев и глубина каждого дерева.

После наблюдения за производительностью количество деревьев в лесу было зафиксировано на уровне 200, и мы выполнили поиск по сетке в глубине.

Используемые параметры:было реализовано 2 разных типа модели.

1-я модель

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

2-я модель

Мы понимаем, что расчет общей мощности на основе показаний счетчиков может быть неэффективным в реальных сценариях. Итак, эта модель была построена для прогнозирования почасового энергопотребления только на основе времени.

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

Давайте выясним это.

Модель с дополнительными данными измерения

Графики для оценок R2:

Имея доступные данные Submeter, мы видим, что оценка проверки R2 составляет около 0,87, что согласуется со значением, ранее полученным в ходе сравнительного анализа. Мы также отображаем значения ошибок, чтобы оценить, насколько хороша наша модель. Эти баллы представлены ниже как:

Графики для RMSE:

В целом, мы видим, что результат согласован как в обучающем, так и в проверочном наборах без признаков переоснащения/недообучения. Кроме того, RMSE составляет около 19–20 кВт.

Модель только с временными данными

Графики для оценок R2:

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

Графики для RMSE:

При средней глобальной мощности в данных около 65,5 кВт это среднеквадратичное отклонение составляет около 60% от средней мощности в случае только временных данных и около 30% от средней мощности, если также включены дополнительные измерения. Итак, теперь пришло время подвести итоги.

Вывод

В этом проекте рассматривалась реализация краткосрочного прогнозирования мощности на основе машинного обучения. Где мы пробовали подходы Random Forest, SVM, Linear Regression, а также авторегрессии. Из них Random Forest показал самые большие надежды. Итак, этот алгоритм был рассмотрен более подробно.

В целом, мы увидели, что эта модель отлично подходит для прогнозирования общей потерянной мощности (когда известна измеренная мощность) с показателем R2 около 0,87, но не так хороша для прогнозирования потребления абсолютной мощности (оценка R2 около 0,48) на основе только час дня.

Значения RMSE по-прежнему высоки, поэтому следует опробовать и другие подходы. Поскольку эти данные носят временной характер, можно также рассмотреть подходы на основе RNN, такие как LSTM и т. д.

В целом, эта проектная статья позволит вам получить представление о мире прогнозирования реальных данных и его различных проблемах, таких как неполные данные, противоречивые данные и т. д.

Авторы

Командная работа

Как мы видим, в этом проекте мы реализовали 4 модели и провели глубокий анализ на основе этих моделей. Мы, как группа из 3 человек, разделили эти модели между собой и проанализировали их на индивидуальной основе. Каждый из нас приложил все свои усилия и равные усилия для завершения Проекта.

Члены команды: Арнав Ядав, Сурадип Саньял и Вайбхав Бхат

Арнав Ядав (https://www.linkedin.com/in/iamarnavyadav/)модель ARIMA анализ и подготовил презентацию, а также этот блог.

Сурадип Саньял (https://www.linkedin.com/in/souradip-sanyal-0889b73a/)Random Forest Analysis и подготовил отчет.

Вайбхав Бхат (https://www.linkedin.com/in/vaibhav-bhat-55aaa415b/)SVR, а также линейный регрессионный анализ и написал код для окончательной модели.

Задача отчета по проекту и презентации была командной работой.

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

Профиль:https://www.linkedin.com/in/tanmoy-chakraborty-89553324/

Твиттер: @Tanmoy_chak

Ссылки:

Л. Брейман, 2001. Случайные леса, Машинное обучение 45.1: 5–32.

Tae-Young Kim и Sung-Bae Cho, 2019. Прогнозирование энергопотребления в жилых помещениях с использованием нейронных сетей CNN-LSTM. Energy, Volume 182: 72–81. https://doi.org/10.1016/j.energy.2019.05.230

X. M. Zhang, K. Grolinger, M. A. M. Capretz и L. Seewald, 2018. Прогнозирование энергопотребления в жилых домах: перспектива для одного домохозяйства. 17-я Международная конференция IEEE по машинному обучению и приложениям (ICMLA), Орландо, Флорида, 2018 г.: 110–117, doi: 10.1109/ICMLA.2018.00024