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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Datum:2024
Hauptverfasser: Doroshenko, A.Yu., Zhora, D.V., Haidukevych, V.O., Haidukevych, Y.O., Yatsenko, O.A.
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
Завантажити файл: Pdf

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.