Научная статья ведущего инженера ЭНПРО Серёгичева Константина
Введение
Современные предприятия сырьевого сектора экономики и, в частности, предприятия металлургии относятся к наиболее энергоёмким отраслям промышленности РФ. При этом затраты на электроэнергию на них обычно превышают затраты на все прочие энергетические ресурсы необходимые для производства[1]. В условиях рыночной экономики и постоянного повышения цен на энергоресурсы особую актуальность приобретает задача прогнозирования потребления электроэнергии для более качественного планирования и управления энергохозяйством предприятия.
Целесообразность исследования
Отдельно стоит заметить, что кроме очевидной выгоды – снижение доли затрат на электроэнергию в единице готовой продукции за счёт более качественного планирования и управления производством, есть и другая статья экономии – это стоимость электроэнергии на оптовом рынке электроэнергии, которая напрямую зависит от качества планирования её потребления. Это связано с тем, что некачественное планирование крупным потребителем электроэнергии может вносить существенный дисбаланс в региональную систему производства и распределения электроэнергии, заставлять оперативно менять режимы генерации электроэнергии и схемы ее распределения. Для снижения количества и величины подобных инцидентов на оптовом рынке электроэнергии Системным оператором введен порядок определения цены на мощность[2].
Тип данных и выбор методов исследования
Точность прогнозирования непосредственно связана с методом расчёта. Статистические методы и методы искусственного интеллекта в настоящее время являются наиболее перспективными при прогнозировании электрической нагрузки, поскольку имеют ряд преимуществ (в части обеспечения точности прогноза при минимизации затрат ресурсов на решение задачи) в сравнении с традиционными методами, основанными на использовании детерминированных моделей объекта.
Данные о потреблении электроэнергии представляют собой временные ряды. В данной статье приводятся результаты прогнозирования указанных временных рядов с использованием библиотек TensorFlow и Statsmodels[3,4]. Использованы различные стили моделей, включая SARIMA, свёрточные и рекуррентные нейронные сети (CNN и RNN). В качестве набора данных будет использована только информация о фактическом потреблении электроэнергии предприятием, без использование косвенных и вспомогательных технологических параметров, а также производственных планов. Это обусловлено спецификой устоявшихся бизнес-процессов большинства промышленных предприятий, а также связано со сложностью получения оцифрованных данных.
Исследование состоит из двух основных частей с подразделами:
1. Прогноз с использованием различных моделей нейронных сетей:
- Прогнозирование на один шаг.
- Прогнозирование на несколько шагов сразу.
- Прогнозирование с авторегрессией. Прогноз по одному шагу с отправкой выходных данных обратно в модель.
2. Прогноз с использованием модели скользящего среднего.
В качестве набора данных для исследования использованы обезличенные результаты почасовых измерений электроэнергии на одном из промышленных предприятий за период в 3 года. Прогнозы будут также иметь почасовую дискретность.
Предварительное исследование данных
Для начала представим имеющиеся данные в виде графика, а также посмотрим на результаты работы функций автокорреляции (ACF) и функции частичной автокорреляции (PACF). На рис. 1 показано, что данные не имеют явно выраженных периодичностей. Стоит отметить, что графики ACF и PACF являются лишь одним из многих инструментов, которые можно использовать для анализа и прогнозирования временных рядов. Другие методы, такие как частотный анализ, также могут быть полезны для понимания закономерностей в данных временных рядов. Определяя задержки и шаблоны в данных, мы можем лучше понять зависимости между временными шагами и построить более точные модели временных рядов.
Рис. 1. График набора данных, его ACF и PACF
Далее мы можем определить важные частоты (периодичность данных) с помощью быстрого преобразования Фурье – рис. 2. Обратим внимание на наличие некоторых неявных производственных циклов в рамках рабочего месяца, сменного графика работы и, по всей видимости, производственного плана. Но при этом очевидных пиков нет, чтобы мы могли использовать эти данные в дальнейшем исследовании.
Рис. 2. График частот, после быстрого преобразования Фурье
Подготовка данных для прогнозирования
Перед обучением нейронной сети важно масштабировать данные. Нормализация — это распространённый способ масштабирования: вычесть среднее значение и разделить на стандартное отклонение набора данных. Среднее значение и стандартное отклонение следует вычислять только с использованием обучающих данных, чтобы модели не имели доступа к значениям в проверочных и тестовых наборах. Также можно утверждать, что модель не должна иметь доступа к будущим значениям в тренировочном наборе во время обучения, и что эта нормализация должна выполняться с использованием скользящих средних.
Прогнозирование на один шаг
Выполним прогнозирование на один шаг с использованием линейной модели с одним нейроном без активации (Linear), модели с несколькими скрытыми слоями (Dense), многоступенчатой модели с несколькими скрытыми слоями (Multi step dense), модели сверточной нейронной сети (Conv), модели рекуррентной нейронной сети (LSTM). В качестве базовой модели (Baseline), для оценки производительности, мы будем использовать модель, которая делает прогноз «без изменений» используя предыдущее историческое значение. Каждая модель, за исключением первых двух, выполняет прогноз на один час вперед, учитывая шесть часов истории.
Рис. 3. Столбчатая диаграмма с данными по средней абсолютной ошибке в % для каждой из используемых моделей с прогнозированием на один шаг
Как мы видим из рис. 3, несмотря на то, что относительно базовой модели есть улучшение по точности, эти модели совершенно нельзя использовать в практической деятельности. Причина кроется в том, что зависимость крайне сложная для такого маленького «окна» входных данных. В ходе обучения моделей я заметил, что моделям с небольшим количеством нейронов не хватает внутренних связей для построения столь сложных зависимостей, а значительное увеличение количества нейронов быстро приводит к переобучению модели из-за нехватки вспомогательных данных для обучения.
Прогнозирование на 24 шага
Далее выполним прогнозирование с использованием тех же моделей, но изменив их, добавив количество нейронов в выходном слое, для предсказания на 24 шага, используя 24 предыдущих исторических значения. На рис. 4 представлены результаты, которые лучше, чем на предыдущем этапе, но также не могут быть использованы для практического применения.
Рис. 4. Столбчатая диаграмма с данными по средней абсолютной ошибке в % для каждой из используемых моделей с прогнозированием на 24 шага
На следующем подэтапе мы усложним наши модели для предсказания последовательности будущих значений.
Есть два общих подхода к этому:
1. Прогнозы на весь диапазон за один проход, когда весь временной ряд прогнозируется сразу.
2. Прогнозы авторегрессии, при которых модель делает только одношаговые прогнозы, а её выходные данные возвращаются в качестве входных данных.
Прогнозирование с авторегрессией
Для построения модели с авторегрессией (AR LSTM) мы возьмем уже имеющуюся модель LSTM и добавим в неё авторегрессионный цикл обратной связи. На рис. 5 представлены результаты работы моделей на данном этапе.
Рис. 5. Столбчатая диаграмма с данными по средней абсолютной ошибке в % для каждой из используемых моделей с последовательным прогнозированием на 24 шага
Результаты данного этапа с использованием базовых возможностей моделей, основанных на нейронных сетях, показывают их низкую эффективность для решения поставленной задачи и требуют изменения подхода. На следующем этапе мы выполним прогнозирование с использованием модели скользящего среднего SARIMAX.
Прогноз с использованием модели скользящего среднего
Для определения наилучших параметров мы, используя метод statespace библиотеки Statsmodels, циклично проверим весь разумный диапазон комбинаций настроечных параметров модели. И выполним прогнозирование с использование наилучших настроечных параметров:
Рис. 6. График целевой переменной и предсказания наложенные друг на друга с выводом величины ошибки над графиком
Как мы видим, SARIMAX-модель демонстрирует гораздо лучшую точность для решения поставленной задачи. При этом стоит отметить, что данное качество возможно только при должной настройке, что достаточно трудоёмко как по вычислительным ресурсам, так и по времени. При этом её точности всё равно недостаточно для использования неспециалистом в качестве готового инструмента прогнозирования, но лишь как один из инструментов поддержки принятия решения.
Вывод
По результатам проведенного исследования, а также на основании современных исследований как отечественных, так и зарубежных ученых я делаю вывод, что дальнейшее исследование и улучшение качества прогноза по данной проблеме возможно. Оно должно быть связано с моделями, которые способны извлекать различные релевантные математические функции из временного ряда и, используя их, выполнять более качественное прогнозирование. В дальнейшем исследовании я хочу сосредоточиться именно на них.
Список литературы:
1. Баланс энергоресурсов 2005 – 2019 гг. https://rosstat.gov.ru/storage/mediabank/5RIE0jgu/en_balans.htm
2. Планирование потребления на сутки вперед для клиентов энерго-сбытовой организации https://energo.blog/blog/shemy-postavki/planirovanie-potreblenija/
3. Прогнозирование временных рядов https://www.tensorflow.org/tutorials/structured_data/time_series
4. Анализ временных рядов методами пространства состояний https://www.statsmodels.org/dev/statespace.html#seasonal-autoregressive-integrated-moving-average-with-exogenous-regressors-sarimax