УДК 519.7
Грязнов И.Е.
Студент магистратуры Самарского национального исследовательского университета
имени академика С.П. Королева Институт информатики и кибернетики Кафедра технической кибернетики Город Самара.
Научный руководитель: Белоусов А.А. доцент кафедры технической кибернетики, к.ф.-м.н.
ИССЛЕДОВАНИЕ РЕШЕНИЯ ЗАДАЧИ ПРОГНОЗИРОВАНИЯ СУТОЧНОЙ НАГРУЗКИ ЭНЕРГОСИСТЕМЫ
НА ОСНОВЕ АНАЛИЗА ВРЕМЕННЫХ РЯДОВ
Аннотация
Объектом исследования является детальное изучение методов прогнозирования электрической нагрузки на основе анализа временных рядов.
Целью работы является изучение выбранных методов для анализа их эффективности и сравнения результатов их работы, для понимания целесообразности дальнейшей работы с данными методами, их улучшения для достижения наиболее приемлемых результатов прогнозирования электрических нагрузок на основе анализа временных рядов.
Были изучены две модели, позволяющие прогнозировать нагрузку энергосистемы. Проведены эксперименты и исследования, выбранных метода анализа и прогнозирования суточной нагрузки энергосистемы, сравнение и анализ результатов. Сделано обобщение полученных результатов, проанализированы данные. Подведено заключение в работе.
Ключевые слова
Методы прогнозирования, временные ряды, модель АШМА, электрическая нагрузка энергосистемы, авторегрессия, экспоненциальное сглаживание, модель скользящего среднего, АШМА.
Введение
Точное прогнозирование графиков нагрузки энергосистемы является важнейшей задачей в управлении энергосистемами. Это используется для определения оптимальных режимов энергосистемы, правильного выбора при планировании генерирующего оборудования и принятия других ответственных решений. Одним из ключевых направлений исследований в электроэнергетике является краткосрочное и оперативное прогнозирование графиков нагрузки электропотребления. В данном работе исследуется задача прогнозирования суточной нагрузки энергосистемы с помощью анализа временных рядов. Анализ временных рядов является широко используемым подходом в области прогнозирования нагрузки, поскольку он позволяет моделировать закономерности и тенденции в исторических данных, которые затем используются для прогнозирования будущих значений. Для анализа данных временных рядов используются различные статистические модели и методы, такие как модели авторегрессионного интегрированного скользящего среднего (ARIMA) и модели авторегрессионного прогнозирования. Показано, что эти модели обладают достаточно высокой степенью точности при решении многих задач прогнозирования процессов в электроэнергетике. В данной работе производиться исследование и анализ данных методов с акцентом на их применимость к задаче прогнозирования суточной нагрузки энергосистемы. С целью получить наибольшую эффективность от данных методов и обеспечить реализацию теоретического исследования. Результаты этого исследования могут дать важную
информацию для понимания наилучшего способа в области прогнозирования электрической нагрузки. Сбор материала, анализ данных.
Для анализа данных и работы с методами прогнозирования электрической нагрузки были использованы датасеты из PJM Interconnection LLC (PJM) - это региональная в США управляющая распределением и передачей электроэнергии компания, задействованная в большинстве штатов: Делавэр, Иллинойс, Индиана, Кентукки, Мэриленд, Мичиган, Нью-Джерси, Северная Каролина, Огайо, Пенсильвания, Теннесси, Вирджиния, Западная Вирджиния и округ Колумбия. Данные в датасете хранятся в почасовом потреблении электроэнергии в мегаваттах (МВт). Это все наглядно отображает уровень спроса электроэнергии, потребление и изменение в энергосистеме. Данные изменчивы в зависимости от региона. В данной работе производились исследования на примере одного датасета, охватывающих наличие данных по каждому региону, для наибольшей наглядности и точности эмпирических вычислений.
# Load the data from the .csv file
data = pd.read_csv("PJM_Load_hourly.csv")
# Parse the first column as datetime data["Datetime"] = pd.to_datetime(data["Datetime"])
# Set the datetime column as the index of the DataFrame data.set_index("Datetime", inplace=True)
# Plot the data
plt.plot(data)
plt.show()
199S-D7199 3-D 11999-07 2000-012000-07 2001-012001 -07 20a 2 -01 Рисунок 1 - Разброс электрической нагрузки за несколько лет
# Load the data from the .csv file
data = pd.read_csv("PJM_Load_hourly.csv")
# Parse the first column as datetime data["Datetime"] = pd.to_datetime(data["Datetime"])
# Set the datetime column as the index of the DataFrame data.set_index("Datetime", inplace=True)
# Create a line plot
data.plot(kind='line') plt.show()
# Create a histogram
data.plot(kind='hist', y='PJM_Load_MW', bins=30) plt.show()
Оа1е1|пе
Рисунок 2- График электрической нагрузки с временной группировкой в полгода
20000 25000 ЗОООО 35000 ЛОООО 45000 5О000 5ВООО Рисунок 3 - Энергопотребление в мегаваттах в блочном представлении
Рисунок 4 - Данные в датасете
Данный датасет, должен в полной мере удовлетворить наш запрос к данным, для исследования методов прогнозирования нагрузки энергосистемы на основе анализа временных рядов, для создания моделей, которые могут быть применены в практических условиях, для оптимизации и улучшения эффективности и надежности энергосистемы.
1. Проведение экспериментов и исследование выбранного метода анализа и прогнозирования суточной нагрузки энергосистемы, сравнение и анализ результатов.
Ранее уже были изучены различные методы прогнозирования на основе анализа временных рядов. Среди этих подходов можно выделить четыре основные группы, каждый из которых располагает множеством вариантов и гибридных способов:
1. Простая скользящая средняя (SMA)
2. Экспоненциальное сглаживание (SES)
3. Авторегрессионная интеграционная скользящая средняя (ARIMA)
4. Методы на основе нейронных сетей (NN), такие как LSTM
В данной работе упор делался на более классические методы прогнозирования временных рядов.
Модель авторегрессии (AR) — это статистическая модель, которая использует определенное количество предыдущих наблюдений временного ряда для прогнозирования следующего значения. Это тип линейной модели, в которой текущее значение ряда моделируется как линейная комбинация предыдущих значений ряда. Порядок авторегрессии, часто обозначаемый буквой «p», представляет собой количество предыдущих наблюдений, использованных в прогнозе. Порядок авторегрессии является ключевым параметром, который необходимо указать при подборе модели AR. Модель авторегрессии является обобщением модели скользящего среднего, которая использует предыдущие ошибки для прогнозирования следующего значения. Модель авторегрессии предсказывает следующее значение на основе линейной комбинации прошлых значений.
Общая форма модели авторегрессии:
yt = С + aiyt - 1 + a2yt - 2 + ... + ap * yt - p + et
где y_t — значение временного ряда в момент времени t, c — постоянный член, a_1, a_2, ..., a_p — коэффициенты авторегрессии, y_t-1, y_t-2, ..., y_t-p — прошлые значения ряда, а e_t — ошибка в момент времени t.
Модель авторегрессии обычно используется для анализа и моделирования одномерных данных временных рядов, где цель состоит в том, чтобы предсказать следующее значение одной переменной на основе ее прошлых значений. Библиотека statsmodel, используемая в вычислениях данной работы, предоставляет реализацию модели авторегрессии, которая называется AutoReg, в реализации программы вычисления, которую можно использовать для подгонки модели авторегрессии к данным временных рядов и создания прогнозов. Функция AutoReg принимает два основных аргумента: Данные временного ряда и порядок авторегрессии, который задается параметром «lags». После подбора модели используется predict() для прогнозирования будущих значений временного ряда на основе коэффициентов модели. Метод fit() возвращает объект результатов, который содержит информацию о подогнанной модели, такую как оценочные коэффициенты и различные меры качества подгонки.
Подгружаем датасет в csv файле в Google Colab и запустим вычисления. Проведя несколько исследовательских попыток, можно представить успешный вариант со скоростью вычисления: 0.14632415771484375 секунд.
Root Mean Squared Error (MSE): 6356.6144385535;
Coefficients: const 1519.809241;
55 ООО 5GOOO 4SOOO 40000 3SOOO
зоооо
25000 20000
1993-07 1999-011993-07 2QOO- О12000-0 7 2001-012001 -О? 3002 -01 Рисунок 4 - График линейной регрессии на тестовой выборке данных.
Производительность модели можно более четко оценить, отобразив данные, на которых происходило обучение, данные, предсказанные моделью, и фактические данные.
Далее, вторым выбранным для исследования и противопоставления авторегрессии, методом является модель ARIMA (AutoRegressive Integrated Moving Average) для прогнозирования данных временных рядов. ARIMA — это статистический метод моделирования и прогнозирования данных временных рядов. Комбинируя три разных компонентов:
Авторегрессия (AR): модель, которая использует прошлые значения временного ряда, чтобы объяснить или предсказать его текущее поведение. Например, если временной ряд увеличивался в течение последних нескольких месяцев, он, вероятно, продолжит увеличиваться в ближайшем будущем.
Разность (I): метод преобразования нестационарного временного ряда в стационарный путем удаления тренда или сезонности. Стационарный временной ряд — это ряд, статистические свойства которого (такие как среднее значение и дисперсия) остаются постоянными во времени. Это важный шаг, поскольку большинство методов прогнозирования временных рядов, включая ARIMA, предполагают, что данные являются стационарными.
Скользящее среднее (MA): модель, которая объясняет значение временного ряда в определенный момент времени на основе среднего значения ошибок или остатков предыдущих прогнозов. Другими словами, он моделирует непредсказуемые изменения данных временных рядов.
Таким образом, ARIMA представляет собой комбинацию этих трех компонентов, что означает, что модель ARIMA пытается смоделировать временной ряд как линейную комбинацию прошлых значений, прошлых ошибок и процесса скользящего среднего.
Обычно он характеризуется тремя параметрами: (p, d, q)
• p представляет порядок части авторегрессии (AR)
• d представляет порядок разностной (I) части
• q представляет порядок части, скользящей средней (MA)
Функция auto_arima использует итеративный процесс для автоматического выбора наилучшей комбинации p, d и q, а также наилучших значений других параметров, таких как количество периодов для использования в скользящей средней. Это может сэкономить много времени по сравнению с ручным тестированием различных комбинаций параметров и может помочь повысить точность прогнозов.
В функции count_arima модель ARIMA обучается и используется для прогнозирования с помощью следующих шагов:
Функция auto_arima вызывается в наборе обучающих данных ['PJM_Load_MW'] с параметрами start_p=0, start_q=0, max_p=10, max_q=10, start_P=0, Season=False, d=1, trace=True, stepwise=True. Эти параметры используются для указания диапазона возможных значений параметров p, d и q модели
ARIMA. start_p=0, start_q=0 указывают, что поиск должен начинаться с моделей, которые имеют нулевые lags как в компонентах AR, так и в MA. max_p=10, max_q=10 устанавливают верхний предел количества задержек, которые следует учитывать как в компонентах AR, так и в компонентах MA. start_P=0 указывает, что поиск должен начинаться с моделей с нулевыми задержками в сезонной составляющей, так как seasonal=False. d=1 указывает, что данные уже однажды различались, этот шаг используется, чтобы сделать временной ряд стационарным. trace=True и stepwise=True используются, чтобы показать ход процесса выбора модели и использовать пошаговый подход для выбора модели.
Метод. fit() вызывается для объекта stepwise_model, чтобы подогнать модель ARIMA к обучающим данным.
Метод. predict() вызывается для объекта stepwise_model с параметром n_periods=len(test), чтобы делать прогнозы для всего набора тестов.
Среднеквадратическая ошибка (RMSE) рассчитывается путем сравнения фактических тестовых данных test['PJM_Load_MW'] с прогнозируемыми данными yPred с использованием функции mean_squared_error() из модуля sklearn.metrics. Затем строит обучающие данные, тестовые данные и прогнозируемые значения. В качестве результата функция возвращает переменную rmse.
Также стоит отметить, что функция также выводит значение AIC (информационные критерии Akaike), которое является мерой того, насколько хорошо модель соответствует данным, более низкое значение соответствует лучшему.
На вход функции подаем CSV-файл с нашим набором данных, ранее использованных для работы с функцией авторегрессии. Задаем train_size: число с плавающей запятой, представляющее долю данных, которая должна использоваться для обучения модели, а оставшаяся доля используется для тестирования модели. Значение по умолчанию — 0,8, поэтому, для этого аргумента будет передано значение, 80 % данных, которые будут использоваться для обучения, а 20 % — для тестирования. Далее считываются данные из указанного CSV-файла с помощью Pandas и преобразуют столбец «Datetime» в индекс даты и времени. Данные разбиваються на тренировочный набор и тестовый набор, используя пропорцию, указанную в train_size. Далее используется функция auto_arima из библиотеки pmdarima для обучения модели ARIMA на обучающих данных, и обученная модель используется для прогнозирования на тестовых данных. Вычисляет среднеквадратичную ошибку (RMSE) прогнозов, отображает обучающие данные, тестовые данные и прогнозируемые значения, возвращает среднеквадратичное значение.
Подгрузив датасет в Google Colab и запустив вычисления, аналогично ранее проделанному эксперименту, проводим несколько испытаний и получаем результаты:
Best model: ARIMA(3,1,3)(0,0,0)[0]
55 ООО ВО ООО 4500D 4QOOO 3SOOD
зоооо
25000 2DOOO
199S-D? 200Ö-012ÖC0-072001-013001-072002-01
Рисунок 5 - График предсказания ARIMA на тестовой выборке данных.
Total fit time (Скорость вычисления): 2604.767 seconds.
Что значительно больше ранее исследуемого метода авторегрессии.
Root Mean Squared Error (MSE): 6586.510851896664;
2. Обобщение результатов исследования.
Таким образом, в этом исследовании использовалась библиотека statsmodel для реализации авторегрессионной модели, в частности функции AutoReg, для анализа и моделирования одномерных данных временных рядов. Производительность модели оценивалась с использованием различных показателей качества подгонки, включая среднеквадратичную ошибку (MSE). Набор данных в файле csv был загружен в Google Colab, и расчеты были выполнены для итогового результата со скоростью расчета 0,14632415771484375 секунд.
Кроме того, в исследовании также реализована модель ARIMA для прогнозирования данных временных рядов с использованием функции auto_arima из библиотеки pmdarima. Однако у этого метода более длительное время расчета (2604.767 секунд) и несколько более высокая СКО (6586.510851896664), чем у авторегрессионной модели (6356.6144385535). Обе методологии наглядно отображены в работе, в том числе и на графиках. Легко можно заметить, что данные методы работы над прогнозированием очень близки по результатам, лишь незначительно можно выделить авторегрессию, за счет своей скорости и чуть лучшего СКО. Что делает ее чуть более привлекательной для использования в краткосрочных, быстрых прогнозах. Модель ARIMA занимает значительно большее время на обучение, что, вероятно, на больших данных, может значительно замедлить работу, но в рамках долгосрочного планирования это допустимый аспект.
Заключение
В ходе данной работы, исходя из специфики временных рядов и особенностей методов прогнозирования, были исследованы два выбранных метода для прогнозирования электрической нагрузки методом временных рядов: Модель авторегрессии (AR) и модель ARIMA (AutoRegressive Integrated Moving Average). Было получено наглядное представление о работе данных моделей.
Были проведены эксперименты на данных датасета из PJM Interconnection LLC, региональной управляющей распределением и передачей электроэнергии компании. Для более лаконичного отображения информации о результатах исследования, были отобраны наиболее корректные данные, которые наиболее наглядно демонстрируют всю специфику работы каждой модели прогнозирования. На основе отобранных нами результатов, мы сделали выводы о эффективности работы каждой из этих моделей, рассмотрели сами данные, на основании которых производилось тестирование моделей, с какими особенностями достигался наилучший результат, и то, в каких случаях лучше выбрать тот или иной метод.
Одним из возможных расширений этого исследования, может быть, изучение использования авторегрессионной модели и модели ARIMA на многомерных данных временных рядов, где несколько переменных используются для прогнозирования значения другой переменной, с добавлением среднесуточной температуры наружного воздуха.
Можно отметить, что оба метода очень близки по результатам своей работы и могут быть использованы в прогнозировании, но на более долгосрочные планирования режимов работы электростанций.
В продолжении данной работы планируется рассмотреть возможность прогнозирования с учетом дополнительных параметров, таких как данные о погоде, улучшить работу самих методов в программном комплексе. Также возможно рассмотреть другие модели для прогнозирования и дополнить методами работы с самими временными рядами.
Список использованной литературы:
1. Зуева В.Н. Нейросетевое прогнозирование графиков нагрузки энергосистемы. В.Н. Зуева, Научно-методический электронный журнал Концепт. 2015. Т. 8. С. 286-290.
2. Зуева В.Н., Никитина Ю.Ю. Анализ методов прогнозирования графиков нагрузки электрооборудования. В.Н. Зуева, Ю.Ю. Никитина, Сборник докладов победителей и лауреатов XXII студенческой научной конференции АМТИ 2016. С. 119-122.
3. Зуева В.Н., Белозерская Т.Ю. Расчет потерь электроэнергии в силовом трансформаторе. В.Н. Зуева, Т.Ю. Белозерская. Научно-методический электронный журнал Концепт. 2015. Т. 8. С. 116-120.
4. Соловьева И.А. Прогнозирование электропотребления с учетом факторов технологической и рыночной среды / И.А. Соловьева, А.П. Дзюба // Научный диалог. 2013. - No7(19).
5. Казаринов Л.С. Метод прогнозирования электропотребления промышленного предприятия / Л.С. Казаринов, Т.А. Барбасова и др. // Вестник Южно-Уральского государственного университета. Серия: Компьютерные технологии, управление, радиоэлектроника. - 2014. - Т. 14, No1. - С. 5-13.
6. Цекурас Г.Дж., Диалинас Э.Н., Хациаргириу Н.Д., Каваца С. Он-линейная многопараметрическая регрессионная модель для среднесрочного энергетического прогнозирования энергосистем. Исследования электроэнергетических систем. 2007 г.; 77 (12):1560-1568
7. McSharry PE, Bouwman S, Bloemhof G. Вероятностные прогнозы величины и времени пикового спроса на электроэнергию. Транзакции IEEE в энергосистемах. 2005 г.; 20 (2):1166-1172
8. Гонсалес-Ромера Э., Харамильо-Моран М.А., Кармона-Фернандес Д. Прогнозирование ежемесячного спроса на электроэнергию на основе извлечения тенденций. Транзакции IEEE в энергосистемах. 2006 г.; 21 (4):1946-1953
9. Тейлор Дж. В., Mc Sharry PE. Методы краткосрочного прогнозирования нагрузки: оценка на основе европейских данных. Транзакции IEEE в энергосистемах. 2007 г.; 22 (4):2213-2219
10. Хан Х., Мейер-Ниберг С., Пикл С. Методы прогнозирования электрических нагрузок: инструмент для принятия решений. Европейский журнал операционных исследований. 2009 г.; 199 (3):902-907
11. Ниа М.М., Дин Дж., Лам Х.И., Панагопулос А.Д. Стохастический подход к синтезатору временных рядов затухания в дожде для регионов с сильными дождями. Международный журнал электротехники и вычислительной техники. 2016; 6 (5):2379
© Грязнов И.Е., 2023
УДК 52
Рустумханов А.Ф.
Студент 5 курса БГАУ, г.Уфа, РФ
РОЛЬ ГЕОДЕЗИЧЕСКИХ РАБОТ ПРИ ПРОВЕДЕНИЕ ИНЖЕНЕРНЫХ ИЗЫСКАНИЙ ПРИ СТРОИТЕЛЬСТВЕ
Аннотация
Актуальность статьи: на сегодня день инженерные изыскания являются важнейшим этапом строительства. Изыскания предполагают комплексное изучение территории, дают информацию об условия и специфики данной местности для расчета дальнейшего строительства. Неправильно проведённые изыскания могут привести к негативным последствиям.
Цель работы: исследовать роль геодезических измерений при инженерно-изыскательных работ.