Forecasting electrical energy consumption for 24 hours ahead at country scale
For a long period, Ukraine had only one market for electrical energy. That was the market of bilateral agreements that wasn’t flexible enough to balance the interests of consumers and suppliers of electricity. Such agreements could span weeks, months, or even years. Several years ago, Ukraine adopte...
Gespeichert in:
| Datum: | 2024 |
|---|---|
| Hauptverfasser: | , , , , |
| Format: | Artikel |
| Sprache: | Ukrainian |
| Veröffentlicht: |
PROBLEMS IN PROGRAMMING
2024
|
| Schlagworte: | |
| Online Zugang: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/631 |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Назва журналу: | Problems in programming |
| Завантажити файл: | |
Institution
Problems in programming| id |
pp_isofts_kiev_ua-article-631 |
|---|---|
| record_format |
ojs |
| resource_txt_mv |
ppisoftskievua/9d/263d5f7f816bfdd342d627bc22100f9d.pdf |
| spelling |
pp_isofts_kiev_ua-article-6312025-02-15T11:51:15Z Forecasting electrical energy consumption for 24 hours ahead at country scale Прогноз споживання електричної енергії на 24 години наперед у масштабах України Doroshenko, A.Yu. Zhora, D.V. Haidukevych, V.O. Haidukevych, Y.O. Yatsenko, O.A. machine learning; regression; forecasting; electricity markets UDC 658.26, 004.421, 004.89 машинне навчання; регресія; прогнозування; ринки електроенергії УДК 658.26, 004.421, 004.89 For a long period, Ukraine had only one market for electrical energy. That was the market of bilateral agreements that wasn’t flexible enough to balance the interests of consumers and suppliers of electricity. Such agreements could span weeks, months, or even years. Several years ago, Ukraine adopted the European mod el that assumes the following four markets: bilateral, day-ahead, intraday, and balancing. Despite the electricity market models in Europe having some differences, this was also a significant step forward in liberalizing electricity trading between countries. This work applies standard regression techniques to forecast the country-wide consumption of electrical energy. All considered machine learning algorithms are available as a part of the scikit-learn library. This article demonstrates that proper forecasting model selection is a multi-stage process that may involve data selection, data preprocessing, data augmentation, selection of machine learning algorithm, optimization of hyperparameters, etc. Besides the fine-tuning of regression hyperparameters, several data preparation techniques are employed to improve the forecasting accuracy. To measure the influence of input parameters we used the nearest neighbors regression model. This machine learning algorithm provides quite competitive results and has a sma ll number of hyperparameters to optimize. The comparison of regression algorithms with classic instruments like multi-layer perceptron, support vector machine, and linear regression was done. Two different training approaches were used for multi-layer perceptron: quasi-Newton optimizer and stochastic gradient descent. It is demonstrated that forecasting for 24 hours ahead is possible with good accuracy and has practical significance. While all computations for this work were done on a regular 8-core machine, the creation of the MLOps pipeline may require much more powerful computation resources.Problems in programming 2024; 2-3: 147-154 Упродовж тривалого періоду Україна функціонувала на єдиному ринку електроенергії, що складався з двосторонніх угод, проте цей підхід не виявився достатньо гнучким для вирівнювання інтересів споживачів та постачальників електроенергії. Такі угоди могли тривати впродовж тижнів, місяців або навіть років. Декілька років тому Україна перейшла на європейську модель, яка включає чотири ринки: двосторонній, на добу наперед, внутрішньоденний та балансуючий. Навіть за умови того, що європейські моделі ринку електроенергії мають свої відмінності, цей крок був важливим для лібералізації торгівлі електроенергією між країнами. У роботі використовуються стандартні методи регресії для прогнозування споживання електроенергії в країні. Усі розглянуті алгоритми машинного навчання доступні як частина бібліотеки scikit-learn. Продемонстровано, що правильний вибір моделі прогнозування є багатоетапним процесом, що може включати вибір даних, попередню обробку даних, їх розширення, вибір алгоритму машинного навчання, оптимізацію гіперпараметрів тощо. Окрім тонкого налаштування гіперпараметрів регресії, для підвищення точності прогнозування використовується декілька методів підготовки даних. Щоб виміряти вплив вхідних параметрів, застосована регресійна модель найближчих сусідів. Цей алгоритм машинного навчання забезпечує досить конкурентоспроможні результати та має невелику кількість гіперпараметрів для оптимізації. Виконане порівняння алгоритмів регресії з класичними інструментами, такими як багатошаровий перцептрон, метод опорних векторів і лінійна регресія. Для багатошарового перцептрона було використано два різних підходи до навчання: квазіньютонівський оптимізатор і стохастичний градієнтний спуск. У роботі показано, що прогнозування на 24 години вперед можливе з хорошою точністю і має практичне значення. Хоча всі обчислення для цієї роботи здійснювались на звичайному 8-ядерному процесорі, створення конвеєра MLOps може вимагати набагато потужніших обчислювальних ресурсів.Problems in programming 2024; 2-3: 147-154 PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2024-12-17 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/631 10.15407/pp2024.02-03.147 PROBLEMS IN PROGRAMMING; No 2-3 (2024); 147-154 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 2-3 (2024); 147-154 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 2-3 (2024); 147-154 1727-4907 10.15407/pp2024.02-03 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/631/683 Copyright (c) 2024 PROBLEMS IN PROGRAMMING |
| institution |
Problems in programming |
| baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
| datestamp_date |
2025-02-15T11:51:15Z |
| collection |
OJS |
| language |
Ukrainian |
| topic |
machine learning regression forecasting electricity markets UDC 658.26 004.421 004.89 |
| spellingShingle |
machine learning regression forecasting electricity markets UDC 658.26 004.421 004.89 Doroshenko, A.Yu. Zhora, D.V. Haidukevych, V.O. Haidukevych, Y.O. Yatsenko, O.A. Forecasting electrical energy consumption for 24 hours ahead at country scale |
| topic_facet |
machine learning regression forecasting electricity markets UDC 658.26 004.421 004.89 машинне навчання регресія прогнозування ринки електроенергії УДК 658.26 004.421 004.89 |
| format |
Article |
| author |
Doroshenko, A.Yu. Zhora, D.V. Haidukevych, V.O. Haidukevych, Y.O. Yatsenko, O.A. |
| author_facet |
Doroshenko, A.Yu. Zhora, D.V. Haidukevych, V.O. Haidukevych, Y.O. Yatsenko, O.A. |
| author_sort |
Doroshenko, A.Yu. |
| title |
Forecasting electrical energy consumption for 24 hours ahead at country scale |
| title_short |
Forecasting electrical energy consumption for 24 hours ahead at country scale |
| title_full |
Forecasting electrical energy consumption for 24 hours ahead at country scale |
| title_fullStr |
Forecasting electrical energy consumption for 24 hours ahead at country scale |
| title_full_unstemmed |
Forecasting electrical energy consumption for 24 hours ahead at country scale |
| title_sort |
forecasting electrical energy consumption for 24 hours ahead at country scale |
| title_alt |
Прогноз споживання електричної енергії на 24 години наперед у масштабах України |
| description |
For a long period, Ukraine had only one market for electrical energy. That was the market of bilateral agreements that wasn’t flexible enough to balance the interests of consumers and suppliers of electricity. Such agreements could span weeks, months, or even years. Several years ago, Ukraine adopted the European mod el that assumes the following four markets: bilateral, day-ahead, intraday, and balancing. Despite the electricity market models in Europe having some differences, this was also a significant step forward in liberalizing electricity trading between countries. This work applies standard regression techniques to forecast the country-wide consumption of electrical energy. All considered machine learning algorithms are available as a part of the scikit-learn library. This article demonstrates that proper forecasting model selection is a multi-stage process that may involve data selection, data preprocessing, data augmentation, selection of machine learning algorithm, optimization of hyperparameters, etc. Besides the fine-tuning of regression hyperparameters, several data preparation techniques are employed to improve the forecasting accuracy. To measure the influence of input parameters we used the nearest neighbors regression model. This machine learning algorithm provides quite competitive results and has a sma ll number of hyperparameters to optimize. The comparison of regression algorithms with classic instruments like multi-layer perceptron, support vector machine, and linear regression was done. Two different training approaches were used for multi-layer perceptron: quasi-Newton optimizer and stochastic gradient descent. It is demonstrated that forecasting for 24 hours ahead is possible with good accuracy and has practical significance. While all computations for this work were done on a regular 8-core machine, the creation of the MLOps pipeline may require much more powerful computation resources.Problems in programming 2024; 2-3: 147-154 |
| publisher |
PROBLEMS IN PROGRAMMING |
| publishDate |
2024 |
| url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/631 |
| work_keys_str_mv |
AT doroshenkoayu forecastingelectricalenergyconsumptionfor24hoursaheadatcountryscale AT zhoradv forecastingelectricalenergyconsumptionfor24hoursaheadatcountryscale AT haidukevychvo forecastingelectricalenergyconsumptionfor24hoursaheadatcountryscale AT haidukevychyo forecastingelectricalenergyconsumptionfor24hoursaheadatcountryscale AT yatsenkooa forecastingelectricalenergyconsumptionfor24hoursaheadatcountryscale AT doroshenkoayu prognozspoživannâelektričnoíenergíína24godininaperedumasštabahukraíni AT zhoradv prognozspoživannâelektričnoíenergíína24godininaperedumasštabahukraíni AT haidukevychvo prognozspoživannâelektričnoíenergíína24godininaperedumasštabahukraíni AT haidukevychyo prognozspoživannâelektričnoíenergíína24godininaperedumasštabahukraíni AT yatsenkooa prognozspoživannâelektričnoíenergíína24godininaperedumasštabahukraíni |
| first_indexed |
2025-07-17T09:57:41Z |
| last_indexed |
2025-07-17T09:57:41Z |
| _version_ |
1850410392196481024 |
| fulltext |
147
Прикладне програмне забезпечення
УДК 658.26, 004.421, 004.89 http://doi.org/10.15407/pp2024.02-03.147
А.Ю. Дорошенко, Д.В. Жора, В.О. Гайдукевич, Я.О. Гайдукевич, О.А. Яценко
ПРОГНОЗ СПОЖИВАННЯ
ЕЛЕКТРИЧНОЇ ЕНЕРГІЇ НА 24 ГОДИНИ НАПЕРЕД
У МАСШТАБАХ КРАЇНИ
Упродовж тривалого періоду Україна функціонувала на єдиному ринку електроенергії, що складався з двос-
торонніх угод, проте цей підхід не виявився достатньо гнучким для вирівнювання інтересів споживачів та
постачальників електроенергії. Такі угоди могли тривати впродовж тижнів, місяців або навіть років. Декілька
років тому Україна перейшла на європейську модель, яка включає чотири ринки: двосторонній, на добу на-
перед, внутрішньоденний та балансуючий. Навіть за умови того, що європейські моделі ринку електроенергії
мають свої відмінності, цей крок був важливим для лібералізації торгівлі електроенергією між країнами. У
роботі використовуються стандартні методи регресії для прогнозування споживання електроенергії в країні.
Усі розглянуті алгоритми машинного навчання доступні як частина бібліотеки scikit-learn. Продемонстрова-
но, що правильний вибір моделі прогнозування є багатоетапним процесом, що може включати вибір даних,
попередню обробку даних, їх розширення, вибір алгоритму машинного навчання, оптимізацію гіперпарамет-
рів тощо. Окрім тонкого налаштування гіперпараметрів регресії, для підвищення точності прогнозування ви-
користовується декілька методів підготовки даних. Щоб виміряти вплив вхідних параметрів, застосована ре-
гресійна модель найближчих сусідів. Цей алгоритм машинного навчання забезпечує досить конкурентоспро-
можні результати та має невелику кількість гіперпараметрів для оптимізації. Виконане порівняння алгорит-
мів регресії з класичними інструментами, такими як багатошаровий перцептрон, метод опорних векторів і лі-
нійна регресія. Для багатошарового перцептрона було використано два різних підходи до навчання: квазі-
ньютонівський оптимізатор і стохастичний градієнтний спуск. У роботі показано, що прогнозування на 24
години вперед можливе з хорошою точністю і має практичне значення. Хоча всі обчислення для цієї роботи
здійснювались на звичайному 8-ядерному процесорі, створення конвеєра MLOps може вимагати набагато по-
тужніших обчислювальних ресурсів.
Ключові слова: машинне навчання, регресія, прогнозування, ринки електроенергії.
A.Yu. Doroshenko, D.V. Zhora, V.O. Haidukevych, Y.O. Haidukevych, O.A. Yatsenko
FORECASTING ELECTRICAL ENERGY
CONSUMPTION FOR 24 HOURS AHEAD
AT COUNTRY SCALE
For a long period, Ukraine had only one market for electrical energy. That was the market of bilateral agreements
that wasn’t flexible enough to balance the interests of consumers and suppliers of electricity. Such agreements
could span weeks, months, or even years. Several years ago, Ukraine adopted the European mod el that assumes
the following four markets: bilateral, day-ahead, intraday, and balancing. Despite the electricity market models in
Europe having some differences, this was also a significant step forward in liberalizing electricity trading between
countries. This work applies standard regression techniques to forecast the country-wide consumption of electrical
energy. All considered machine learning algorithms are available as a part of the scikit -learn library. This article
demonstrates that proper forecasting model selection is a multi-stage process that may involve data selection, data
preprocessing, data augmentation, selection of machine learning algorithm, optimization of hyperparameters, etc.
Besides the fine-tuning of regression hyperparameters, several data preparation techniques are employed to im-
prove the forecasting accuracy. To measure the influence of input parameters we used the nearest neighbors re-
gression model. This machine learning algorithm provides quite competitive results and has a sma ll number of
hyperparameters to optimize. The comparison of regression algorithms with classic instruments like multi-layer
perceptron, support vector machine, and linear regression was done. Two different training approaches were used
for multi-layer perceptron: quasi-Newton optimizer and stochastic gradient descent. It is demonstrated that fore-
casting for 24 hours ahead is possible with good accuracy and has practical significance. While all computations
for this work were done on a regular 8-core machine, the creation of the MLOps pipeline may require much more
powerful computation resources.
Key words: machine learning, regression, forecasting, electricity markets.
© А.Ю. Дорошенко, Д.В. Жора, В.О. Гайдукевич, Я.О. Гайдукевич, О.А. Яценко, 2024
ISSN 1727-4907. Проблеми програмування. 2024. №2-3
148
Прикладне програмне забезпечення
Вступ
Тривалий час Україна мала єдиний
ринок електроенергії. Це був ринок двос-
торонніх угод, який не був достатньо гну-
чким для збалансованих інтересів спожи-
вачів і постачальників електроенергії. Такі
угоди можуть тривати тижні, місяці чи на-
віть роки. 1 липня 2019 року Україна
прийняла європейську модель [1], яка пе-
редбачає наявність чотирьох ринків: двос-
тороннього, на добу наперед, внутрішньо-
денного та балансуючого. Незважаючи на
те, що моделі ринку електроенергії в Єв-
ропі мають певні відмінності [2], це також
був значний крок вперед для лібералізації
торгівлі електроенергією між країнами.
Двосторонній ринок також можна
назвати ф’ючерсним або форвардним рин-
ком. В Україні, як показано на Рис. 1, зага-
льна сума угод фіксується щогодини.
Рис. 1. Погодинна інформація про обсяги
ринку електроенергії у мегават-годинах
(МВт·год)
Водночас на деяких європейських
ринках допускаються 15-хвилинні контра-
кти. Якщо ми розглядаємо чотири ринки
електроенергії в тому порядку, як вони за-
значені вище (від двостороннього до бала-
нсуючого), то властивості цих ринків мо-
жна сформулювати наступним чином:
− обсяг ринку зменшується;
− дорожчає електроенергія;
− збільшується волатильність.
Закони фізики застосовуються до
електричних кіл незалежно від масштабу.
Існують деякі втрати електроенергії,
пов’язані з опором, але зазвичай вони не-
значні. Якщо виміряти кількість проданої
та переданої електроенергії на підстанціях,
можна зробити висновок, що кількість ви-
робленої електроенергії точно дорівнює
кількості спожитої електроенергії. Тобто
для досягнення цілей цієї статті ми може-
мо взаємозамінно використовувати такі
терміни: виробництво енергії, споживання
енергії та обсяг ринку. Коли країна розгля-
дається як відкрита система, застосовуєть-
ся таке рівняння:
виробництво + імпорт =
споживання + експорт. (1)
Набір даних, використаний у цьому
дослідженні, представляє часовий діапазон
з 1 липня 2020 року по 31 грудня 2021 ро-
ку. З історичних причин часовий діапазон
з 1 липня 2019 року по 30 червня 2020 ро-
ку не містив двосторонніх ринкових да-
них [3]. Дані про обсяги ринку надані Ін-
ститутом енергетичного моделювання Ук-
раїни. Графік, наведений на Рис. 2, показує
динаміку всіх чотирьох компонентів ринку
в часі.
Збільшення обсягу даних
Часто буває так, що на змодельова-
ний процес впливають інші зовнішні фак-
тори, що не представлені у вхідних пара-
метрах із початкового набору даних. Зро-
зуміло, що зовнішня температура впливає
на споживання електроенергії, оскільки
взимку потрібно більше енергії для опа-
лення, а влітку для кондиціонування пові-
тря. До набору даних, що представляють
температуру для України та її столиці, до-
дано два стовпці з погодинними даними.
Місцезнаходження країни було обрано як
її лінійний географічний центр із десятко-
вими GPS-координатами 48.379433N
31.165580E.
149
Прикладне програмне забезпечення
Ще одним важливим фактором є
періодичність споживання електроенергії.
Наприклад, вночі людям потрібно менше
електроенергії, ніж вдень. Так само у вихі-
дні споживання електроенергії є меншим,
ніж у будні. У даній статті розглядаються
чотири типи циклу: щоденний, тижневий,
місячний і річний. В одному з наступних
розділів буде проаналізовано, чи є корис-
ними ці доповнення.
Проблема полягає в тому, як пере-
дати представлення часу в алгоритм ма-
шинного навчання таким чином, щоб ана-
логічні моменти часу інтерпретувалися ал-
горитмом як близькі. Наприклад, годинні
значення 23 і 0 близькі за часовою шка-
лою, але віддалені в реальному представ-
ленні. Одним із можливих рішень цієї про-
блеми є обчислення синуса та косинуса
фази циклу [4]. Цей підхід демонструє, як
кожну годину в добовому циклі можна
представити без пропусків. Зокрема, бли-
зькі значення на шкалі часу представлені
близькими значеннями функцій синуса та
косинуса.
Доповнений набір даних показано
нижче на Рис. 3. Перші два стовпці можна
інтерпретувати як складений первинний
ключ. На додаток до початкових 4 стовп-
ців атрибутів з даними про обсяг ринку,
тепер є ще 10 стовпців. Дані температури
були завантажені із сайту
https://openweathermap.org, періодичні сто-
впці розраховані за допомогою алгоритму,
написаного мовою Python.
Рис. 2. Залежність обсягу ринку в мегават-годинах (МВт·год) від часу
Рис. 3. Розширений набір даних про обсяг ринку
з температурними та періодичними даними
150
Прикладне програмне забезпечення
Перевибірка тимчасових даних
Використання додаткових вхідних
параметрів зазвичай забезпечує кращі ре-
зультати регресії. За необхідності прогно-
зування обсягів ринку на 24 години напе-
ред, має сенс враховувати доступні дані за
останні 24 години (як мінімум). Алгоритми
машинного навчання та функції бібліотеки
очікують, що вхідні та вихідні параметри
представлені одним записом. Таким чи-
ном, на етапі підготовки даних дані, відо-
бражені на Рис. 3, були повторно дискре-
тизовані в наступні стовпці; тут суфікс M1
означає, що параметр отримано годину
тому, а суфікс P1 означає параметр, отри-
маний годину пізніше тощо.
Первинний ключ: TradeDate,
TradeHour
Вхідні стовпці: SinDay, CosDay,
SinWeek, CosWeek, SinMonth, CosMonth,
SinYear, CosYear, Bilateral, DayAhead,
Intraday, Balancing, TempUkr, TempKiev,
BilateralM1, DayAheadM1, IntradayM1,
BalancingM1, TempUkrM1, TempKievM1,
BilateralM2, DayAheadM2, IntradayM2,
BalancingM2, TempUkrM2, TempKievM2,
..., BilateralM23, DayAheadM23,
IntradayM23, BalancingM23, TempUkrM23,
TempKievM23
Вихідні стовпці: BilateralP1,
DayAheadP1, IntradayP1, BalancingP1,
BilateralP2, DayAheadP2, IntradayP2,
BalancingP2, ..., BilateralP24, DayAheadP24,
IntradayP24, BalancingP24
Отриманий набір даних містив
13'129 записів, оскільки перші 24 записи та
останні 24 записи після повторної вибірки
не були повністю кваліфікованими. Набір
даних було розділено на навчальну та тес-
тову частини за допомогою стандартної
бібліотечної функції train_test_split із прос-
тору імен sklearn.model_selection [5].
Отримані набори даних були збережені у
файлах, тому різні алгоритми регресії, зга-
дані далі в статті, були оцінені на тих са-
мих даних.
Метрики оцінки моделі
Щоб виміряти вплив вхідних пара-
метрів, була використана регресійна мо-
дель найближчих сусідів, представлена
класом KNeighborsRegressor із простору
імен sklearn.neighbors. Цей алгоритм ма-
шинного навчання забезпечує досить кон-
курентоспроможні результати та має неве-
лику кількість гіперпараметрів для оптимі-
зації.
Складність алгоритму прихована за
методами підгонки та прогнозування. Інші
алгоритми регресії та класифікації також
повторно використовують ці методи, тому
заміна одного алгоритму на інший віднос-
но проста.
Метрики, наведені в Табл. 1, вико-
ристовувалися для вимірювання розбіж-
ності між тестовим набором і прогнозова-
ними даними. Тут iy — вихідне значення
i-го запису в тестовому наборі даних,
if — прогнозоване значення для i-го за-
пису, y — середнє вихідне значення для
Таблиця 1
Назва та визначення стандартних метрик для задачі регресії
Назва метрики Формула метрики Номер формули
Показник R2
(або коефіцієнт детермінації)
( )
( )
2
2
21
i ii
ii
y f
R
y y
−
= −
−
(2)
Середня абсолютна похибка у
відсотках
1
1 n
i i
ii
y fMAPE
n y=
−
= (3)
Середня абсолютна похибка
1
1 n
i i
i
MAE y f
n =
= − (4)
151
Прикладне програмне забезпечення
тестового набору даних. Ці формули роз-
глядаються в контексті одного вибраного
вихідного стовпця, що представляє обсяг
ринку.
Ручний вибір ознак
Тепер потрібно оцінити вплив дода-
ткових параметрів і тривалості історії на
точність прогнозу. У Табл. 2 показано під-
вищення точності після додавання темпе-
ратури та періодичних параметрів. Вияв-
ляється, усі додаткові параметри корисні,
але загальний ефект досить незначний.
Параметри початкової моделі є такими:
вхідні стовпці: Bilateral, DayAhead, Intra-
day, Balancing; вихідні стовпці:
BilateralP24, DayAheadP24, IntradayP24,
BalancingP24.
Отриманий проміжний набір вхід-
них параметрів наведено нижче.
Вхідні стовпці: Bilateral, DayAhead,
Intraday, Balancing, TempUkr, TempKiev,
SinDay, CosDay, SinWeek, CosWeek,
SinMonth, CosMonth, SinYear, CosYear
На Рис. 4 показано покращення ре-
зультатів прогнозування, коли до вхідного
набору даних додається більше історичних
даних. Очевидно, повна історія за останні
24 години дає кращі результати. Тепер по-
вний набір вхідних параметрів містить 106
записів, перелічених нижче.
Вхідні стовпці: Bilateral, DayAhead,
Intraday, Balancing, BilateralM1,
DayAheadM1, IntradayM1, BalancingM1, ...,
BilateralM23, DayAheadM23, IntradayM23,
BalancingM23, TempUkr, TempKiev,
SinDay, CosDay, SinWeek, CosWeek,
SinMonth, CosMonth, SinYear, CosYear
Автоматичний вибір ознак
Висока розмірність вхідного прос-
тору зазвичай вважається проблемою, осо-
бливо з шумними даними. З іншого боку,
не всі вхідні параметри, досліджені до цьо-
го часу, однаково впливають на якість ре-
зультатів. Отже, було б корисно спробува-
ти видалити параметри, які надають менш
корисну інформацію, ніж інші. Виявляєть-
Таблиця 2
Показник R2, отриманий для різних наборів вхідних параметрів
Bilateral DayAhead Intraday Balancing
Початкова модель 0.93291021 0.90164708 0.72947093 0.77183561
Дані температури 0.93439629 0.90410349 0.73455079 0.77676317
Добовий цикл 0.93455756 0.90418401 0.73498679 0.77679022
Тижневий цикл 0.93465155 0.90445549 0.73560531 0.77761618
Місячний цикл 0.93471811 0.90462339 0.73591691 0.77787893
Річний цикл 0.93479404 0.90470696 0.73575183 0.77860211
Рис. 4. Залежність показника R2 від тривалості історії в годинах
152
Прикладне програмне забезпечення
ся, це не складно з класом
SelectFromModel із простору імен
sklearn.feature_selection [6].
Цей метатрансформатор має бути
забезпечений об’єктом оцінки, який, у
свою чергу, може обчислити масив важли-
вості ознак. Одним із таких класів є
RandomForestRegressor, який отримує важ-
ливість ознак як функцію інформаційної
ентропії. Конструктор для класу
SelectFromModel також приймає порого-
вий параметр, який дозволяє варіювати кі-
лькість вибраних ознак. Оптимальні ре-
зультати були отримані з 60 ознаками, взя-
тими з 106 (див. Табл. 3).
Розподіл помилок прогнозування
24-годинну помилку передбачення
для всіх чотирьох ринків можна виміряти
на тестовому наборі, який становить 20 %
вихідного набору даних. Для зручності
представлення та аналізу тестовий набір
був відсортований за реальним обсягом
ринку. Прогнозовані значення відображені
на Рис. 5 точками.
Порівняння алгоритмів регресії
Наразі всі результати були отримані
з регресором k-найближчих сусідів, і має
сенс дослідити продуктивність інших ал-
горитмів на тій же конфігурації стовпця.
Вихідні параметри були обрані для
24-годинного прогнозування. Наведені
нижче результати включають порівняння з
класичними інструментами, такими як ба-
гатошаровий перцептрон [7], метод опор-
них векторів [8] і лінійна регресія [9].
Варто зазначити, що деякі алгорит-
ми не підтримують нативну конфігурацію
з кількома виходами, тому було необхідно
використовувати клас MultiOutput-
Regressor, щоб подолати цю проблему та
охопити чотири ринки електроенергії од-
нією моделлю машинного навчання.
У Табл. 4 представлено показник R2
для різних алгоритмів машинного
навчання. Виявляється, що для даної конк-
ретної задачі ансамблеві методи є набагато
кращими, ніж інші, і алгоритм-переможець
Histogram Gradient Boosting є одним із них.
Крім того, він є одним із найшвид-
ших і може бездоганно обробляти набори
даних із відсутніми значеннями. У поточ-
ному наборі даних етап навчання займає
близько 20 секунд.
Таблиця 3
Покращення
показника R2,
отримані за
допомогою
вибору вхідної
ознаки
Bilateral DayAhead Intraday Balancing
Повний набір: 106 ознак 0.96129509 0.94019898 0.83718184 0.86971889
60 вибраних ознак 0.96322701 0.94024491 0.85536199 0.87121345
Таблиця 4
Порівняння значень показника R2 для алгоритмів регресії на тестовому наборі даних
Алгоритм регресії Bilateral DayAhead Intraday Balancing
Histogram Gradient Boosting 0.98734425 0.97273813 0.87836457 0.91963280
Ada Boost Regressor 0.98008607 0.96134363 0.85172910 0.90325404
Gradient Boosting Regressor 0.97878979 0.96317970 0.84666374 0.90112536
Extra Trees Regressor 0.97461940 0.95963273 0.86484512 0.89815645
Nearest Neighbors Regressor 0.96751227 0.94895676 0.86066507 0.87555149
Random Forest Regressor 0.96680397 0.94718425 0.83167183 0.87304825
Support Vector Machine 0.93841639 0.90790177 0.78281964 0.78573216
Multi-Layer Perceptron (QNO) 0.93589612 0.90409299 0.75444413 0.79110787
Multi-Layer Perceptron (SGD) 0.93414003 0.90877942 0.77358025 0.81562885
Elastic Net Regressor 0.92924816 0.90300302 0.75547081 0.77908284
Linear Regression 0.92921485 0.90297901 0.75552627 0.77906737
Bayes Ridge Regressor 0.92502565 0.89258447 0.74195841 0.77884534
153
Прикладне програмне забезпечення
Таблиця 3
Покращення показника R2, отримані за допомогою вибору вхідної ознаки
Bilateral DayAhead Intraday Balancing
Повний набір: 106 ознак 0.96129509 0.94019898 0.83718184 0.86971889
60 вибраних ознак 0.96322701 0.94024491 0.85536199 0.87121345
Рис. 5. Похибка прогнозу на 24 години вперед
із застосуванням методу
k-найближчих сусідів, обсяг двостороннього
ринку (МВт·год)
Висновки
У статті продемонстровано, що
правильний вибір моделі прогнозування є
багатоетапним процесом, який може
включати вибір даних, попередню обробку
даних, розширення даних, вибір алгоритму
машинного навчання, оптимізацію гіпер-
параметрів тощо. Хоча всі обчислення для
цієї роботи здійснювались на звичайному
8-ядерному процесорі, створення конвеєра
MLOps може вимагати потужніших обчис-
лювальних ресурсів.
Попередньо підготовлену модель
можна зберегти у файл для подальшого
повторного використання у виробничому
середовищі. Серед розробників Python по-
пулярні два формати: .joblib і .pickle. Крім
того, існує формат .onnx, який можна зава-
нтажувати не лише в Python, а й у швидші
додатки на основі .NET або Java [10]. Вар-
то зазначити, що Microsoft та інші вендори
інвестують значні ресурси в розвиток му-
льтиплатформенних можливостей для ма-
шинного навчання [11].
Точність прогнозу, отримана для
ринків електроенергії, різна. Тим не
менш, похибка в 1 % для 24-годинного
прогнозу двостороннього ринку виглядає
вражаюче. Такий прогноз може бути ко-
рисним у масштабі країни для забезпе-
чення необхідного постачання палива,
планування імпортно-експортних опера-
цій, зниження вартості електроенергії то-
що. Подібне дослідження можна провести
для більш конкретних наборів даних ко-
мерційних і державних енергетичних під-
приємств.
References
1. A new model of the electricity market has
been launched in Ukraine. [cited 04.03.2024].
https://expro.com.ua/en/tidings/a-new-model-
of-the-electricity-market-has-been-launched-
in-ukraine
2. M. Osińska, M. Kyzym, V. Khaustova,
O. Ilyash, T. Salashenko, Does the Ukrainian
electricity market correspond to the European
model?, in: Utilities Policy (2022), 1–14.
doi: 10.1016/j.jup.2022.101436 [cited
04.03.2024]. https://www.sciencedirect.com/
science/article/pii/S095717872200100X
3. A. Doroshenko, D. Zhora, O. Savchuk,
O. Yatsenko, Application of machine learning
techniques for forecasting electricity genera-
tion and consumption in Ukraine, in: Proceed-
ings of IT&I 2023, 2023, pp. 136-146.
4. Van Wyk, Encoding Cyclical Features for
Deep Learning. [cited 04.03.2024].
https://www.kaggle.com/code/avanwyk/encod
ing-cyclical-features-for-deep-learning
5. Scikit-learn: Machine Learning in Python.
[accessed 04.03.2024]. https://scikit-
learn.org/stable/
6. Feature selection with scikit-learn library.
[cited 04.03.2024]. https://scikit-learn.org/
stable/modules/feature_selection.html
154
Прикладне програмне забезпечення
7. S. Haykin, Neural networks: a comprehensive
foundation, Prentice Hall, 1998.
8. V. N. Vapnik, Statistical learning theory,
Wiley, 1998.
9. M. Bishop, Pattern recognition and machine
learning, Springer, 2006. [cited
04.03.2024]. https://www.microsoft.com/
en-us/research/uploads/prod/2006/01/Bishop-
Pattern-Recognition-and-Machine-Learning-
2006.pdf
10. G. Novack, Deploy Sci-kit Learn models in
.NET Core Applications. [cited 04.03.2024].
https://towardsdatascience.com/deploy-sci-
kit-learn-models-in-net-core-applications-
90e24e572f64
11. X. Dupre, O. Grisel, Accelerate and simplify
Scikit-learn model inference with ONNX
Runtime. [cited 04.03.2024].
https://cloudblogs.microsoft.com/opensource/
2020/12/17/accelerate-simplify-scikit-learn-
model-inference-onnx-runtime/
Одержано: 29.03.2024
Внутрішня рецензія отримана: 12.04.2024
Зовнішня рецензія отримана: 20.04.2024
Про авторів:
1,2Дорошенко Анатолій Юхимович,
доктор фізико-математичних наук,
завідувач відділу, професор
http://orcid.org/0000-0002-8435-1451.
1Жора Дмитро Володимирович,
кандидат фізико-математичних наук,
старший науковий співробітник
https://orcid.org/0009-0006-6073-7751.
1Гайдукевич Владислав Олегович,
аспірант.
https://orcid.org/0000-0002-0614-6778.
1Гайдукевич Ярослав Олегович,
аспірант.
http://orcid.org/0000-0002-6300-1778.
1Яценко Олена Анатоліївна,
кандидат фізико-математичних наук,
старший науковий співробітник.
http://orcid.org/0000-0002-4700-6704.
Місце роботи авторів:
1Інститут програмних систем
НАН України,
тел. +38-044-526-60-33
E-mail: a-y-doroshenko@ukr.net,
dmitry.zhora@gmx.com,
gaidukevichvlad@gmail.com,
yarmcfly@gmail.com,
oayat@ukr.net
2Національний технічний університет
України «Київський політехнічний
інститут імені Ігоря Сікорського»,
факультет iнформатики та обчислювальної
технiки,
тел. +38-044-204-86-10.
|