Соавторы: Гокул Раджив, Джером Тан Джун Вей, Виджай Н., Шем Малериадо, Виньеш Санкар Айер

Разрушения, вызванные антропогенным изменением климата, нанесли ущерб экологии Земли и становятся реальной угрозой, особенно для тех, кто проживает в бедных общинах. Изменение климата вызвано в первую очередь увеличением выбросов парниковых газов в результате промышленной деятельности. Выбросы углерода в энергетике вносят огромный вклад. В 2018 году глобальные выбросы CO2, связанные с энергетикой, выросли на 1,7% и достигли исторического максимума в 33,1 млрд тонн CO2. Чтобы ограничить глобальное потепление, мы должны заменить ископаемое топливо экологически чистыми возобновляемыми источниками энергии, такими как ветряные электростанции. В глобальном масштабе многие страны пытались добавить такие производственные мощности в свои электрические сети. С 2007 по 2017 год ветряная мощность США увеличилась более чем на 430%, в то время как мировая ветровая мощность достигла 540 ГВт.

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

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

Основная цель нашей модели состояла в том, чтобы спрогнозировать производство энергии ветра во Франции на основе данных о скорости и направлении ветра из 8 различных мест в регионе Иль-де-Франс, в то время как нашей вторичной целью было максимизировать прибыль за счет минимизации завышенных прогнозов. энергетических прогнозов, поскольку мы должны покупать энергию на спотовом рынке, чтобы поставлять в сеть по более высокой цене за кВтч. Наша модель прогнозирует производство энергии на 18 часов вперед. Мы использовали нейронную сеть для создания надежной модели прогнозирования, которая могла бы удовлетворить наши цели, указанные выше.

Для построения нашей модели мы использовали 2 набора данных: данные о производстве энергии ветра и прогнозы ветра.

Набор данных о производстве ветровой энергии был предоставлен французским агентством по передаче энергии Réseau de transport d’électricité (RTE). Фактические данные об энергии ветра были получены из онлайн-базы данных RTE, усреднены и стандартизированы для временной базы в 1 час. Он содержал консолидированное производство энергии ветра для региона Иль-де-Франс, окружающего Париж. Мы смогли получить доступ к данным о производстве ветровой энергии с 1 января 2017 года по настоящее время со значениями в кВтч.

Между тем, мы использовали данные прогноза ветра, предоставленные Terra Weather для 8 мест во Франции, каждое из которых представляет собой крупную ветряную электростанцию ​​в Иль-де-Франс. Для одного и того же периода времени были предоставлены 2 разные модели ветра. Между тем, каждый прогноз имел 2 переменные: скорость ветра (в м / с) и направление ветра (в градусах по пеленгу). Прогнозы ветра обновлялись каждые 6 часов, и их нужно было интерполировать на временную базу в 1 час. Это помогло стандартизировать базы времени для двух наборов данных.

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

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

Установив прямую зависимость между скоростью ветра и энергией, мы решили выяснить, как скорость ветра меняется в зависимости от направления ветра для каждого местоположения. Мы проанализировали скорость ветра в зависимости от направления ветра для 4 мест: Parc Du Gatinais, Boissy La Riviere, Lieusaint и Guitrancourt. Ветряные электростанции в Parc Du Gatinais и Boissy La Riviere были двумя ведущими производителями, в то время как Lieusaint и Guitrancourt были вторыми двумя производителями.

На рис. 4 сравниваются зависимости скорости ветра от направления ветра для Parc Du Gatinais, Boissy La Riviere, Lieusaint и Guitrancourt соответственно. Из рисунка 4 можно сделать два вывода. 1) В 4 точках есть постоянные впадины и пики с пиками скорости ветра при 240 градусах и впадинами скорости ветра при 120 градусах, и 2) средние скорости ветра обычно не различаются. во всех 4 местах.

Что это значит для нас? Хотя существует периодическая взаимосвязь между направлением и скоростью ветра, одного этого недостаточно для объяснения различий в производстве энергии ветра. Кроме того, скорость ветра не сильно зависит от местоположения. Это означает, что могут быть другие факторы, которые определяют различия в производстве энергии в зависимости от местоположения, например количество ветряных турбин на каждой ферме.

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

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

Статистика до нормализации

Среднее значение = 17595,40585291839

Медиана = 10500,0

Макс = 89000,0

Мин = 0,0

SD = 19165.223478547836

Рисунок 7: Статистика производства энергии

Потеря стойкости

Среднеквадратичная ошибка = 0,44529

Средняя абсолютная ошибка = 0,64950

Постоянная прибыль = -6767790481

Рисунок 8: Результаты нашей модели сохраняемости

После получения базовой статистики по производству энергии (как показано на рисунке 7) мы устанавливаем модель устойчивости в качестве базового эталона, который нужно превзойти. Наши контрольные потери составили 0,44 для среднеквадратичной ошибки (RMSE) и 0,65 для средней абсолютной ошибки (MAE) для потерь. Поскольку нашей основной целью было максимизировать прибыль, мы рассматривали возможность использования модели устойчивости в качестве ориентира для получения прибыли, но это было явно бесполезно, поскольку приводило к большому отрицательному значению (как показано на рисунке 8).

Базовая модель

Мы решили поэкспериментировать с базовой конфигурацией:

  1. Размер нейронной сети 128
  2. 3 слоя
  3. Коэффициент усадки ½
  4. Введите размер 51.
  5. Характеристики: разностная сеть, среднее значение, стандартное отклонение, скорость модели A, скорость модели B
  6. Адам Солвер
  7. Вероятность отсева 0,05
  8. L2 регуляризация

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

Мы получили убыток RMSE в размере 0,34226 и прибыль в размере 1,467 миллиарда евроцентов, что на милю превосходит устойчивость. Мы также зафиксировали корреляцию лага, равную 0. Это стало нашим новым эталоном.

Легенда инженерной мысли:

Столбец A: данные об энергии.

Столбец B: Модель A, усредненная по всем точкам.

Столбец C: Скорость ветра модели B, усредненная по всем точкам.

Столбец D: Модель A Направление ветра, усредненное по всем точкам.

Столбец E: направление ветра модели B, усредненное по всем точкам.

Функциональная инженерия

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

Сначала мы пробовали разные окна, а именно 6, 12, 18, 24, 48 и 72. Мы сравнили нашу первоначальную конфигурацию функций с наивным окном за 48 часов. Наш предварительный анализ (рис. 6) ранее показал, что определить периодичность скорости ветра сложно. Мы выбрали естественную длину окна, кратную 24, чтобы учесть ежедневные колебания. Использование большого окна для учета сезонных колебаний может стоить нам более детальных тенденций, обнаруживаемых при меньших размерах окна, в то время как использование слишком маленького окна может не предоставить нейронной сети достаточно различимой информации, чтобы сделать достоверный прогноз. Результаты показывают, что выбранная нами длина окна 48 часов действительно была лучшей с точки зрения потерь и прибыли при тестировании. Также, как и ожидалось с нашей разностной сетью, 48 часов разностных входов превосходят исходные исходные по тестовым потерям, а также по прибыли.

Затем мы протестировали разностные входы, которые вычитали такое же количество шагов, как время выполнения, по сравнению с одним шагом во времени с разностными входами. Мы объединили входные данные разности с разностями 1-го и 2-го порядка, включив входные данные о потерях импульса и силы. Была надежда, что это улучшит обучение нашей сети, чтобы лучше прогнозировать 18-часовой заблаговременный прогноз. Однако здесь можно увидеть, что входные данные diff по-прежнему выигрывают как с точки зрения потерь при тестировании, так и с точки зрения прибыли. Это может быть связано с дополнительным шумом от различения временных рядов с разницей 1-го и 2-го порядка.

Затем мы включили масштабирование ввода. Добавление масштабирования входных данных привело к снижению доходности даже при уменьшении убытков RMSE. Возможно, это связано с тем, что модель с масштабированием имеет тенденцию к завышению прогнозов. Поскольку наша цель - максимизировать прибыль, мы решили продолжить без масштабирования входных данных и, вероятно, использовать более консервативную модель. Мы также заметили, что в этой конфигурации MAE дает лучшую прибыль. Это может быть связано с тем, что RMSE более строго наказывает выбросы, обучая сеть «сглаживать» свои прогнозы, в то время как MAE дает 1–1 «обратную связь» за ошибки. Фактические данные действительно имеют выбросы, и если сеть сможет их уловить, это может привести к меньшим потерям и, следовательно, к более высокой прибыли при MAE. Новые функции, которые мы добавили, также могут лучше работать с нормализацией MAE, учитывая разницу в производительности в нашей базовой модели.

Первоначально мы не были уверены в том, что различия в направлении ветра для 8 ветряных электростанций будут препятствовать обучению сети. Проведя анализ на Рисунке 4, мы поняли, что наблюдаемые тенденции, по-видимому, применимы ко всему региону, и поэтому мы решили включить входные данные направления из моделей A и B.

Включение входных данных о направлении помогло как убыткам, так и прибылям. Здесь мы также сравнили RMSE с прибылью MAE и обнаружили, что MAE показала лучший результат с новым рекордом прибыли в 1,48 миллиарда. С этого момента мы включили входные данные направления в наш набор функций и будем использовать MAE.

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

Тонкая настройка сети

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

Размер нейронной сети

Затем мы решили поэкспериментировать с размером нейронной сети от 64 до 256.

На рисунке 11 показаны конфигурации с разными размерами нейронной сети. Все размеры нейронных сетей стабильно превосходят настойчивость. 128 дал нам наилучший размер нейронной сети, что дало потерю теста RMSE 0,34226. Мы также регулярно смотрели на прибыль как на еще один фактор, который следует учитывать помимо тестового убытка; 128 также принесла лучшую прибыль в размере 1,46 миллиарда центов.

Слои нейронной сети

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

Размер сетевого уровня 4 привел к немного меньшим потерям при тестировании, чем размер нашего предыдущего сетевого уровня 3 (0,34182 против 0,34226). Добавление новых функций могло бы привести к лучшей кластеризации, что дало бы нам доход в 1,468 миллиарда центов.

Коэффициент усадки

Затем последовали испытания коэффициентов усадки ⅔ и ½.

Коэффициент сжатия 2/3 дал более низкие тестовые потери, чем у нашего предыдущего коэффициента сжатия 1/2 (0,33845 против 0,34182) и более высокую прибыль в размере 1 473 391 134.

Выбывать

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

Дальнейшие улучшения

Чтобы внести в нашу сеть дальнейшие улучшения, такие как сокращение переобучения, мы провели дополнительные тесты и выяснили, что комбинация решателя ADAM, 0.2 LeakyRelu, 10–4 спада веса и 0,05 выпадения дает наилучшие результаты.

Решатель: Адам против SGD

Сатуратор: ReLU против 0,1 Leaky ReLU против 0,2 Leaky ReLU

Вероятность отсева: 0,05 против 0,1 против 0,2

Снижение веса: 10 ^ –4 vs 10 ^ –5 vs 10 ^ –6

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

Прочие параметры

Каждая команда начинает с 10 000 000 центов.

Для этого соревнования прогнозы (p) сравниваются с фактическим (a) производством энергии.

Нам платят 10 центов за кВтч за p, пока p ‹a. Однако, если p ›a, дополнительная разница должна быть« куплена »командой по цене 20 центов за кВтч. Таким образом, за неправильные прогнозы накладываются более серьезные штрафы, чем за неправильные. Более того, как только у команды будет отрицательный баланс, 100 центов будут вычтены в качестве долга за невозможность покупать энергию, которая была завышена.

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

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

Новая формула потерь MAE-RELU: Abs (ошибка) + k * ReLu (ошибка)

При потере MAE-RELU завышение прогнозов приведет к ошибке + коэффициент «k» * ошибка из-за функции ReLu, тогда как занижение прогнозов приведет к ошибке + 0, поскольку ReLu возвращает 0 для отрицательных значений. Таким образом, завышенные предсказания наказываются сильнее, чем заниженные, и наша модель обучена быть более консервативной. Исторически более низкая скорость ветра в июле дает дополнительное основание для поддержки консервативной модели.

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

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

Наконец, мы добавили окно ввода значений скорости ветра из T + 0 и T + 18 вместо одного значения в T + 18 и обнаружили, что прибыль значительно улучшилась. Это может быть связано с тем, что скорость ветра и выработка энергии настолько тесно связаны, что предоставление нейронной сети большего количества информации о скорости ветра позволяет ей лучше прогнозировать.

Комбинация функций

A: 0: -48 DIFF

A: 0: -47 СРЕДНИЙ

A:0:-47 SD

А: 18: 0 (из А: 18)

C: 18: 0 (из B: 18)

D: 18

E: 18

Потери MAE-ReLU (0,5)

Наилучшее поражение = 0,630161

Лучшая прибыль = 1 653 318 346

Рисунок 20. Протестированные функции и отчет об убытках и прибылях

Окончательная конфигурация

Путем проб и ошибок мы остановились на MAE-ReLu-loss с коэффициентом 0,5 и коэффициентом компенсации 1,3, что дало нам самую прибыльную конфигурацию развертывания (1,66 миллиарда центов), как показано на рисунке 21.

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

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

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

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

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

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

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

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