Введение

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

На здания и сооружения вместе приходится 36% глобального конечного энергопотребления и 39% выбросов углекислого газа (CO2), связанных с энергетикой, с учетом производства электроэнергии на начальном этапе, согласно Программе ООН по окружающей среде [1].

Таким образом, повышение энергоэффективности в строительном секторе стало основной целью сокращения выбросов парниковых газов и потребления ископаемого топлива. Некоторые из эффективных подходов к достижению этой цели включают учет энергоэффективности на самой ранней стадии проектирования и повышение энергоэффективности существующих зданий с помощью интеллектуальной реконструкции. Для принятия оптимальных решений для успешной реализации таких стратегий важно точное прогнозирование энергии. В последние годы методы искусственного интеллекта и машинного обучения значительно повысили точность прогнозирования энергопотребления. Четыре основных подхода к машинному обучению включают искусственную нейронную сеть, метод опорных векторов, регрессию на основе Гаусса и кластеризацию. В нашем проекте мы будем использовать нейросетевой подход для построения прогнозирования спроса на энергию [2].

Цель

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

Набор данных

Наборы данных, используемые в этом проекте, предоставлены Schneider Electric. Были извлечены данные о потреблении энергии в здании 126 и соответствующие данные прогноза погоды. Исторические данные о потреблении энергии приводятся с 15-минутными интервалами, а также приводятся значения прогноза погоды (температуры) из четырех мест (от wx1 до wx4) рядом со зданием, причем wx1 является ближайшим к зданию.

Приведены данные за период с 24 июля 2014 г. по 26 мая 2016 г. Также предоставляется дополнительная информация о рабочих и праздничных днях каждого года.

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

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

Анализ данных

Первым шагом, который мы предприняли, был анализ предоставленных данных, чтобы выявить интересные тенденции. Исторические данные о потреблении энергии были нанесены в виде (1) дневного тренда (2) недельного тренда и (3) годового тренда с рис. 1 по рис. 3. Значения прогноза погоды нанесены как станции wx1 в сравнении с wx2 и wx4 соответственно на рис. 4. к Рисунку 6. На Рисунке 7 показаны средние дневные температуры по четырем станциям.

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

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

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

Методология предварительной обработки данных

Интерполяция с использованием нормального распределения: заполнение отсутствующих точек данных

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

Имея это в виду, наша команда решила интерполировать наши отсутствующие данные в энергопотреблении, используя последнее известное среднее значение, используя нормальное распределение. Мы интерполировали данные с помощью Python Programming. Всякий раз, когда мы сталкиваемся с отсутствующими данными, например, 03 августа 2015 г., 12:15, мы будем использовать все данные за неделю до этого и сгенерируем нормальное распределение. Затем мы берем среднее значение и стандартное отклонение, чтобы передать его в функцию в numpy, np.random.normal. Вывод генерируется путем рисования случайного числа в пределах нормального распределения. Чтобы обеспечить надежность вывода, мы наложили некоторые ограничения. Во-первых, мы бы перезапустили функцию np.random.normal с помощью цикла while, если генерируется отрицательный вывод, поскольку потребность в энергии не принимает никаких отрицательных значений. Затем мы устанавливаем границу вывода в пределах 2 стандартных отклонений. Это необходимо для обеспечения 95-процентного доверительного интервала и фиксации общей тенденции нормального распределения. Это также не позволяет функции генерировать выбросы, которые могут позже нарушить наше обучение. Наконец, мы повторно запустим функцию еще несколько раз, чтобы получить более точные результаты.

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

Нормализация данных

Нормализация признаков — это метод, часто применяемый на этапе подготовки данных для машинного обучения. Это важный шаг, чтобы убедиться, что все значения данных находятся в приемлемом общем диапазоне, который не слишком велик, чтобы ускорить обучение нейронной сети. Когда значения данных имеют разные масштабы (некоторые в диапазоне 0–1, а некоторые в диапазоне 1000–10000), они потенциально могут мешать обучению и приводить к ошибкам, когда мы пытаемся объединить их вместе в качестве признаков.

Мы используем среднее значение и стандартное отклонение для нормализации наших точек данных, используя формулу, показанную на рисунке 7. Нормализация выполняется до разделения данных на обучающую выборку (70%) и тестовую выборку (30%). Это делается для того, чтобы значения данных как для обучения, так и для тестовых наборов были нормализованы последовательно.

Модель обучения и лучшие результаты

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

Количество персептронов в самом верхнем слое: {{ 32, 64, 128 }}

Количество входных данных от 30 до 100

Вероятность отсева: {{ 0,1, 0,2, 0,3 }}

Распад: {{ 0,0001, 0,00001, 0,000001 }}

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

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

Оконный режим

Простая разностная сеть: от T+0 до T-24

Среднее значение, стандартное отклонение, максимум и минимум: от T+0 до T-24 энергопотребления

Прогноз погоды (температура): T+96

День недели: T+96

Поскольку данные о потребности в энергии предоставляются с 15-минутными интервалами, 24 часа в будущем представлены 96 шагами (T+96). Для работы с окнами мы используем размер окна 6 часов для данных о потреблении энергии. Только одно значение (T+96) используется для значений прогноза погоды, поскольку значения температуры могут часто колебаться в определенные сезоны, особенно зимой.

Конфигурация

Количество слоев в нейронной сети: 4

Количество персептронов в самом верхнем слое: 64

Количество входов: 30

Итерации: 10 000

Алгоритм оптимизации: Адам

Вероятность отсева: 0,1

Затухание: 0,00001

Результаты

Потеря при тестировании: 0,292405

Постоянство: 0,386509

Наши тестовые потери превышают сохраняемость на 0,094.

Время задержки: 24 часа

Временная задержка в 24 часа представлена ​​пиком при T+96 на графиках корреляции с задержкой на рисунке 11. Наличие этой задержки может быть связано с эффектом алгоритма постоянства, где наша модель использует текущее значение (T+0) как прогноз значения на 24 часа вперед (T+96).

На рисунках с 8 по 13 показаны графики, полученные в ходе нашего окончательного анализа.

Заключение и обзор

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

Из нашего проекта мы узнали, что:

  1. Для отсутствующих данных следует использовать надежный метод интерполяции.
  2. Исходный анализ данных для наблюдения за тенденциями и аномалиями данных необходим для выбора соответствующего диапазона точек данных.
  3. Размер окна следует выбирать на основе характеристик набора данных. (Например, малый размер окна следует использовать для значений температуры, которые имеют тенденцию колебаться в течение определенных сезонов, таких как зима.)

Мы разработали модель нейронной сети, которая может довольно точно предсказать потребность здания в энергии на 24 часа вперед, поскольку потери модели при тестировании превосходят устойчивость. Однако точность все еще можно повысить, поскольку разрыв между потерями при обучении и тестировании все еще довольно велик, что означает, что наша модель может в определенной степени запоминать. Более того, временной лаг необходимо улучшить, так как на графике корреляции с лагом нет резкого вторичного пика при Т+0. Дальнейшее понимание сложных методов, изучаемых в курсе, необходимо для опробования различных комбинаций конфигураций, а также для использования более связанных наборов данных, таких как характеристики здания, отличные от значений прогноза погоды и дня недели, чтобы эффективно улучшить результат.

Ссылки

  1. ЮНЕП. (2017) Global Status Report 2017 [Online] [По состоянию на 6 июля 2020 г.]: https://www.worldgbc.org/sites/default/files/UNEP%20188_GABC_en%20%28web%29.pdf
  2. Сеедзаде С., Рахимян Ф., Глеск И. и др. (2 октября 2018 г.) Машинное обучение для оценки энергопотребления и производительности здания: обзор. Вис. на англ. 6, 5 (2018). https://doi.org/10.1186/s40327-018-0064-7
  3. Х.-С.~ Чжао и Магулес, Фредерик. (2012). Обзор по прогнозированию энергопотребления здания. Обзоры возобновляемых и устойчивых источников энергии. 16. 3586–3592. 10.1016/j.rser.2012.02.049