Research of software solutions for forecasting electricity generation and consumption in Ukraine that are based on machine learning methods

The problem of security in energy sector is an important aspect for Ukraine. The purpose of monitoring in this area is to optimize the flow of electricity between market participants, between European partners and Ukraine. It is critically important to maintain a balance between producers and consum...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2023
Автори: Sinitsyn, I.P., Shevchenko, V.L., Doroshenko, А.Yu., Yatsenko, O.A.
Формат: Стаття
Мова:Ukrainian
Опубліковано: Інститут програмних систем НАН України 2023
Теми:
Онлайн доступ:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/586
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Problems in programming
Завантажити файл: Pdf

Репозитарії

Problems in programming
id pp_isofts_kiev_ua-article-586
record_format ojs
resource_txt_mv ppisoftskievua/12/e56e370705e762acfce84b3a6f12be12.pdf
spelling pp_isofts_kiev_ua-article-5862024-04-28T11:55:00Z Research of software solutions for forecasting electricity generation and consumption in Ukraine that are based on machine learning methods Дослідження програмних засобів прогно- зування вироблення та споживання електроенергії в Україні на основі методів машинного навчання Sinitsyn, I.P. Shevchenko, V.L. Doroshenko, А.Yu. Yatsenko, O.A. electricity; algorithm; machine learning; forecasting; regression; bilateral contracts market; day-ahead market; intraday market; balancing market UDC 658.26, 004.421, 004.89 електроенергія; алгоритм; машинне навчання; прогнозування; регресія; ринок двосторонніх договорів; ринок на добу наперед; внутрішньо-добовий ринок; балансуючий ринок УДК 658.26, 004.421, 004.89 The problem of security in energy sector is an important aspect for Ukraine. The purpose of monitoring in this area is to optimize the flow of electricity between market participants, between European partners and Ukraine. It is critically important to maintain a balance between producers and consumers of energy. Both over and undersupply of energy represent risks to infrastructure. The previously available wholesale electricity market model with single buyer has been replaced by a model based on bilateral, day-ahead and intraday markets, as well as balancing and ancillary services markets. Now the participants can freely trade electricity and energy companies can provide services that provide stability of the energy system and supply electricity to the final consumer. The demand forecasting in electricity markets is one of the components that must be implemented for successful business operations and optimization of business processes. Based on the model of the Institute of problems of modeling electricity engineering of NANU, the paper sets out the task of developing a software system for forecasting threats in the energy sector of Ukraine using machine learning methods. Experiments were conducted on the application of regression methods to restore a column with data from bilateral contracts for the task of forecasting electricity generation and consumption. The results of the application of machine learning algorithms on peacetime data demonstrated that it is possible to predict market volumes and tariff plans one hour in advance with a good accuracy which allows to go beyond one-day planning in the future.Prombles in programming 2023; 3: 99-108 Проблема безпеки в енергетичному секторі є надважливою для України. Метою контролю та моніторингу в цій сфері є оптимізація перетоку електроенергії між учасниками ринку, між європейськими партнерами та Україною. Важливо підтримувати баланс між виробниками та споживачами енергії. Як випадки надмірного, так і недостатнього забезпечення енергією становлять ризики для інфраструктури. На зміну моделі оптового ринку електроенергії з єдиним покупцем прийшла ринкова модель, що базується на двосторонніх ринках, ринках на добу наперед і внутрішньодобових ринках, а також ринках балансуючих і допоміжних послуг, де учасники можуть вільно торгувати елек- троенергією, а енергокомпанії можуть надавати послуги, що забезпечують стабільність енергосистеми та постачають електроенергію кінцевому споживачу. Прогнозування попиту на ринках електроенергії є однією зі складових, яку необхідно втілити для успішного ведення бізнесу та оптимізації бізнес-процесів торгових компаній. У статті на основі моделі, розробленої в Інституті проблем моделювання в енергетиці НАНУ, поставлено задачу з розробки програмної системи прогнозування загроз в енергетиці України із використанням методів машинного навчання. Здійснено експерименти із застосування методів регресії для відновлення колонки з даними двосторонніх договорів для задачі прогнозування вироблення та споживання електроенергії. Результати із застосування алгоритмів машинного навчання на даних мирного часу показали, що можна із достатньою точністю прогнозувати обсяги ринку та тарифні плани на годину наперед і вийти за межі одноденного плануванняPrombles in programming 2023; 3: 99-108 Інститут програмних систем НАН України 2023-10-06 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/586 10.15407/pp2023.03.099 PROBLEMS IN PROGRAMMING; No 3 (2023); 99-108 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 3 (2023); 99-108 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 3 (2023); 99-108 1727-4907 10.15407/pp2023.03 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/586/636 Copyright (c) 2023 PROBLEMS IN PROGRAMMING
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2024-04-28T11:55:00Z
collection OJS
language Ukrainian
topic electricity
algorithm
machine learning
forecasting
regression
bilateral contracts market
day-ahead market
intraday market
balancing market
UDC 658.26
004.421
004.89
spellingShingle electricity
algorithm
machine learning
forecasting
regression
bilateral contracts market
day-ahead market
intraday market
balancing market
UDC 658.26
004.421
004.89
Sinitsyn, I.P.
Shevchenko, V.L.
Doroshenko, А.Yu.
Yatsenko, O.A.
Research of software solutions for forecasting electricity generation and consumption in Ukraine that are based on machine learning methods
topic_facet electricity
algorithm
machine learning
forecasting
regression
bilateral contracts market
day-ahead market
intraday market
balancing market
UDC 658.26
004.421
004.89
електроенергія
алгоритм
машинне навчання
прогнозування
регресія
ринок двосторонніх договорів
ринок на добу наперед
внутрішньо-добовий ринок
балансуючий ринок
УДК 658.26
004.421
004.89
format Article
author Sinitsyn, I.P.
Shevchenko, V.L.
Doroshenko, А.Yu.
Yatsenko, O.A.
author_facet Sinitsyn, I.P.
Shevchenko, V.L.
Doroshenko, А.Yu.
Yatsenko, O.A.
author_sort Sinitsyn, I.P.
title Research of software solutions for forecasting electricity generation and consumption in Ukraine that are based on machine learning methods
title_short Research of software solutions for forecasting electricity generation and consumption in Ukraine that are based on machine learning methods
title_full Research of software solutions for forecasting electricity generation and consumption in Ukraine that are based on machine learning methods
title_fullStr Research of software solutions for forecasting electricity generation and consumption in Ukraine that are based on machine learning methods
title_full_unstemmed Research of software solutions for forecasting electricity generation and consumption in Ukraine that are based on machine learning methods
title_sort research of software solutions for forecasting electricity generation and consumption in ukraine that are based on machine learning methods
title_alt Дослідження програмних засобів прогно- зування вироблення та споживання електроенергії в Україні на основі методів машинного навчання
description The problem of security in energy sector is an important aspect for Ukraine. The purpose of monitoring in this area is to optimize the flow of electricity between market participants, between European partners and Ukraine. It is critically important to maintain a balance between producers and consumers of energy. Both over and undersupply of energy represent risks to infrastructure. The previously available wholesale electricity market model with single buyer has been replaced by a model based on bilateral, day-ahead and intraday markets, as well as balancing and ancillary services markets. Now the participants can freely trade electricity and energy companies can provide services that provide stability of the energy system and supply electricity to the final consumer. The demand forecasting in electricity markets is one of the components that must be implemented for successful business operations and optimization of business processes. Based on the model of the Institute of problems of modeling electricity engineering of NANU, the paper sets out the task of developing a software system for forecasting threats in the energy sector of Ukraine using machine learning methods. Experiments were conducted on the application of regression methods to restore a column with data from bilateral contracts for the task of forecasting electricity generation and consumption. The results of the application of machine learning algorithms on peacetime data demonstrated that it is possible to predict market volumes and tariff plans one hour in advance with a good accuracy which allows to go beyond one-day planning in the future.Prombles in programming 2023; 3: 99-108
publisher Інститут програмних систем НАН України
publishDate 2023
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/586
work_keys_str_mv AT sinitsynip researchofsoftwaresolutionsforforecastingelectricitygenerationandconsumptioninukrainethatarebasedonmachinelearningmethods
AT shevchenkovl researchofsoftwaresolutionsforforecastingelectricitygenerationandconsumptioninukrainethatarebasedonmachinelearningmethods
AT doroshenkoayu researchofsoftwaresolutionsforforecastingelectricitygenerationandconsumptioninukrainethatarebasedonmachinelearningmethods
AT yatsenkooa researchofsoftwaresolutionsforforecastingelectricitygenerationandconsumptioninukrainethatarebasedonmachinelearningmethods
AT sinitsynip doslídžennâprogramnihzasobívprognozuvannâviroblennâtaspoživannâelektroenergíívukraínínaosnovímetodívmašinnogonavčannâ
AT shevchenkovl doslídžennâprogramnihzasobívprognozuvannâviroblennâtaspoživannâelektroenergíívukraínínaosnovímetodívmašinnogonavčannâ
AT doroshenkoayu doslídžennâprogramnihzasobívprognozuvannâviroblennâtaspoživannâelektroenergíívukraínínaosnovímetodívmašinnogonavčannâ
AT yatsenkooa doslídžennâprogramnihzasobívprognozuvannâviroblennâtaspoživannâelektroenergíívukraínínaosnovímetodívmašinnogonavčannâ
first_indexed 2024-09-16T04:08:07Z
last_indexed 2024-09-16T04:08:07Z
_version_ 1818527997342253056
fulltext Моделі та методи машинного навчання 99 УДК 658.26, 004.421, 004.89 http://doi.org/10.15407/pp2023.03.99 І.П. Сініцин, В.Л. Шевченко, А.Ю. Дорошенко, О.А. Яценко ДОСЛІДЖЕННЯ ПРОГРАМНИХ ЗАСОБІВ ПРОГНОЗУВАННЯ ВИРОБЛЕННЯ ТА СПОЖИВАННЯ ЕЛЕКТРОЕНЕРГІЇ В УКРАЇНІ НА ОСНОВІ МЕТОДІВ МАШИННОГО НАВЧАННЯ Прогнозування попиту на ринках електроенергії є однією зі складових, яку необхідно втілити для успіш- ного ведення бізнесу та оптимізації бізнес-процесів торговельних компаній. У статті, на основі моде- лі, розробленої в Інституті проблем моделювання в енергетиці НАНУ, поставлено задачу з розробки програмної системи прогнозування загроз в енергетиці України із використанням методів машинного навчання. Здійснено експерименти із застосування методів регресії для відновлення колонки з даними двосторонніх договорів для задачі прогнозування вироблення та споживання електроенергії. Результати із застосування алгоритмів машинного навчання на даних мирного часу показали, що можна із достат- ньою точністю прогнозувати обсяги ринку й тарифні плани на годину наперед і вийти за межі одноден- ного планування. Ключові слова: електроенергія, алгоритм, машинне навчання, прогнозування, регресія, ринок двосторон- ніх договорів, ринок на добу наперед, внутрішньо-добовий ринок, балансуючий ринок. Вступ В Інституті програмних систем НАН України тривалий час розробляються моделі організаційних рішень, безпеки та системи автоматизованої підтримки сис- тем управління озброєнням Збройних Сил України [1–4]. Дана робота присвячена проблемі безпеки в енергетичному секторі, що є важ- ливим аспектом для України, яка потерпає від агресивних дій Росії. Це безпосередньо впливає на інформаційну безпеку, інформа- ційні технології та телекомунікаційні галу- зі. Електрична мережа — це зона, де можна контролювати стан мережі, вимірювати різ- ні характеристики та перерозподіляти потік електроенергії залежно від внутрішніх і зовнішніх загроз. Вузли (або електростан- ції) електричної мережі можна класифіку- вати наступним чином: генераторні станції, станції споживання, розподільчі станції, на- копичувальні станції. Метою контролю та моніторингу в цій сфері є оптимізація перетоку електрое- нергії між учасниками ринку, між європей- ськими партнерами та Україною. Важливо підтримувати баланс між виробниками та споживачами енергії. Випадки як надмір- ного, так і недостатнього забезпечення енергією є ризиками для інфраструктури. Природа та класифікація загроз для елек- тромережі України є темою окремого дослі- дження. Однак на початковому етапі можна виділити наступні проблеми: - зміна погодних умов; - амортизація обладнання; - пошкодження в результаті авіана- льоту; - неузгоджений запуск або зупинка обладнання; - стихійні лиха та зміни клімату; - неоптимальний вибір контр- агентів. Зазначимо, що на зміну моделі оптового ринку електроенергії з єдиним покупцем прийшла ринкова модель, що базується на двосторонніх ринках, ринках на добу наперед і внутрішньодобових ринках. А також ринках балансуючих і допоміжних послуг, де учасники можуть вільно торгувати електроенергією, а енер- гокомпанії можуть надавати послуги, що забезпечують стабільність енергосистеми та постачають електроенергію кінцевому споживачу [5]. Як відомо, ринок електричної енер- гії складається з чотирьох компонент: ©І.П. Сініцин, В.Л. Шевченко, А.Ю. Дорошенко, О.А. Яценко, 2023 ISSN 1727-4907. Проблеми програмування. 2023. №3 Моделі та методи машинного навчання 100 - ринок двосторонніх договорів (РДД, bilateral market); - ринок на добу наперед (РДН, day- ahead market); - внутрішньо-добовий ринок (ВДР, intraday market); - балансуючий ринок (БР, balancing market). Для реалізації торговельної страте- гії та успішного ведення бізнесу, макси- мізації економічних результатів на зазна- ченому сегменті ринку важливо розуміти ринкову ситуацію та структуру попиту і пропозиції [6–8]. Торгівля на РДН від- бувається за принципом маржинального ціноутворення — продавці подають за- явки за мінімальною ціною, за якою вони готові продати, покупці — за максималь- ною ціною, за якою вони готові купити. За результатами аукціонів на РДН продавці продають за ціною не нижче своєї ставки, а покупці купляють за ціною не вищою за свою ставку. Погодинний попит на РДН — це по- годинна кількість електроенергії, яку клі- єнти заявляють і хочуть купувати на РДН за відповідними погодинними цінами. Ця сума безпосередньо впливає як на гранич- ну ціну, яка буде створена, так і на кіль- кість електроенергії, яка буде купуватися та продаватися. Відповідно до закону попиту і пропозиції, чим менший попит на товар, тим нижчою буде ціна; чим вищий попит, тим ціна буде вищою. Це безпосередньо впливає на обсяги, які будуть прийняті до продажу для продавців на РДН. Виникає необхідність прогнозувати попит на РДН. Але зараз в Україні немає механізмів, ал- горитмів чи математичних моделей, які б дозволяли прогнозувати з низькою похиб- кою прогнозування. Попит на РДН залежить від великої кількості факторів [9–11]: 1) обсяги укладених двосторонніх договорів; 2) сезонність; 3) знеструмлення внаслідок руйну- вання об’єктів критичної енергетичної інф- раструктури; 4) день тижня; 5) інші фактори. Для отримання результатів прогно- зу, максимально наближених до реальних даних, співробітниками Інституту проблем моделювання в енергетиці було запропоно- вано [12]: 1) використовувати результати тор- гів за останній доступний день; 2) використовувати зміну попиту між днем, на який доступні фактичні ре- зультати, і днем, на який зроблено прогноз; 3) враховувати зміну попиту, напри- клад, за попередні 4 тижні між однаковими днями тижня. Розроблено спеціалізований алгоритм прогнозування, в основі якого - можливість розгляду сформульованої задачі в параме- тричній формі, де як індикатори використо- вуються прогнозні та реальні дані погодин- ної потреби на РДН. Водночас, для знахо- дження прогнозного погодинного попиту на РДН — значень невідомих показників задачі — використовується ітераційний метод їх по- шуку за статистичними даними обсягів заку- півлі електроенергії на РДН, використовую- чи принцип багатоітераційного аналізу зміни попиту за попередні аналогічні дні [13–15]. Розрахунки для запропонованих алгоритмів проводилися в пакеті MS Excel. Це забезпе- чує універсальність і зручність використання зазначених розрахунків, є зрозумілим і свід- чить про високу швидкість вирішення по- ставлених завдань і низькі витрати на реалі- зацію алгоритму. Наведено формульний опис найбільш точного алгоритму. У даній статті розглянуті основні за- дачі розробки програмної системи прогно- зування загроз в енергетиці. Запропоновані засоби прогнозування об’єму ринку на добу наперед із застосуванням методів машин- ного навчання. 2. Проєкт програмної системи ідентифікації та прогнозування загроз енергетичній інфраструктурі Існує декілька ринків електроенер- гії, і можна виділити два з них: внутрішньо- добовий та ринок наступного дня. Зазвичай контрагенти обмінюються електроенергією десятки разів на день. Важливо прогно- зувати попит і пропозицію на поточний і Моделі та методи машинного навчання 101 наступний день, оскільки контрагенти мо- жуть перейняти свої технологічні процеси та досягти кращих економічних цілей. З точки зору машинного навчання це можна розглядати як конвеєр, що включає серію завдань «видобуток-перетворення-заванта- ження» (Extract-Transform-Load, ETL) [16], котрі передають результати в моделі глибо- кого машинного навчання, які формують прогнози та аналіз загроз. Розроблювана програмна система прогнозування має враховувати економіч- ні чинники і водночас екологічність. Відо- мо, що чиста енергія коштує дорожче. Тож, програмне забезпечення для моніторингу має допомогти вибрати правильний баланс і забезпечити видимість нових тенденцій у галузі, як-от зелений водень. Дані, доступ- ні в системі, повинні допомогти перейти на відновлювані джерела енергії та, зрештою, досягти довгострокової стійкості в енерге- тичному секторі. Технологічні параметри галузі добре структуровані. Зазначимо, що завдання ETL вимагають пакетної обробки вхідних даних для агрегування та попередньої обробки вхідних даних. Моделі глибокого машин- ного навчання потребують прискорення, зо- крема, за допомогою графічних процесорів NVIDIA. Довгострокове зберігання можна ре- алізувати за допомогою реляційної бази да- них, такої як PostgresSQL [17]. Це широко розповсюджена система керування базами даних із відкритим вихідним кодом, що має численні варіанти розгортання, підтриму- ється основними хмарними службами та постачальниками озер даних. Програмний рівень системи доціль- но представити кількома сервісами. Це допомагає уникнути таких крайнощів, як монолітність і мікросервіси. Служба по- винна мати фасад REST API [18], щоб об- мін інформацією між службами не залежав від мови та платформи. Крім того, протокол REST спрощує розробку веб-додатків і до- датків для моніторингу. У доменній області пропонується розробка наступних модулів (служб): 1) зберігання та пошуку даних; 2) аналізу даних та прогнозування; 3) моделювання та управління сис- темою; 4) адміністрування користувачів і груп. Система може бути реалізована мовами C# або Java. Ці мови забезпечу- ють високу продуктивність і мають пози- тивний результат у сфері розробки кор- поративних додатків. Моделі машинного навчання також можна розробляти мовою Python. Існують технології, що дозволя- ють перенести моделі, розроблені мовою Python, на веб-сервіси, реалізовані мовами C# або Java. Інформаційні панелі моніторингу доцільно розробляти як веб-додатки. Ін- формаційна безпека може бути досягнута за допомогою протоколу HTTPS і веб-токенів JSON для автентифікації та авторизації. Де- які аспекти системи залежать від здатності приватних гравців брати участь у програмі. Загалом має сенс охопити наступні напрям- ки моніторингу: - загрози, які можуть відображати- ся географічно; - стан електростанцій і компонен- тів мережі; - електрична енергія, вироблена електростанціями; - електрична енергія, що вико- ристовується споживаючими станціями; - обсяг експорту енергії з України; - обсяг імпортованої в Україну енергії; - частка виробленої екологічно чи- стої енергії; - частка виробленої екологічно брудної енергії; - загальний розмір ринку електрое- нергії в Україні; - середня вартість електроенергії в мегаватах; - розмір ринку обміну електроенер- гією між Україною та ЄС. 3. Задачі прогнозування стосовно наявних даних На даний час проведено експери- менти із застосування методів машинного навчання для прогнозування вироблення та споживання електроенергії із викорис- Моделі та методи машинного навчання 102 танням відкритого програмного забезпе- чення scikit-learn [19]. До складу цієї бі- бліотеки входять різні алгоритми машин- ного навчання, у тому числі призначені для задач класифікації, регресійного та кластерного аналізу даних, метод опор- них векторів, випадкового лісу, алгоритм посилення градієнта, метод k-середніх та DBSCAN. Об’єм кожного з чотирьох ринків, згаданих у вступі, обліковується за кожну годину доби у мегаватах за годину. При- клад, наведений на рис. 1, агрегує усі дані по ринках електричної енергії в Україні. Для порівняння, у Європі об’єми ринку об- ліковуються кожні 15 хвилин. Рис. 1. Дані по ринках електричної енергії в Україні. Чорним виділені клітинки, що використовувалися в початковій версії алгоритму Можна виділити наступні задачі для яких є доцільним застосування методів ма- шинного навчання: - відтворення відсутніх значень у базі даних; погодинне прогнозування ринку на 24 години наперед з використанням попе- редніх даних за декілька годин та методу ковзаючого вікна для їх вибірки; - прогнозування ринку з доповнюю- чим використанням даних за попередній рік. Відновлення колонки з даними двосторонніх договорів. З історичних при- чин дані про двосторонні договори відсут- ні за період з липня 2019 по червень 2020 року. Першою задачею машинного навчан- ня є відтворення цієї колонки даних з вико- ристанням одного з алгоритмів регресії. Спочатку версія алгоритму викорис- товувала клітинки, відзначені на рисунку чорним кольором. Вихідне значення має бути записано у клітинку, виділену сірим. Потім, вже спрогнозоване значення колон- ки Bilateral за 24-ту годину, подавалося як вхідне значення алгоритму для прогнозу- вання на 23-ту годину, і так далі. Іншими словами, було застосовано ковзаюче вікно для інтерпретації вхідних даних, яке руха- ється по таблиці наверх — для заповнення даних у минулому. Початковий набір вхідних пара- метрів, що їх було використано, є таким: Bilateral1, DayAhead, Intraday та Balancing. Тут Bilateral1 позначає значення колонки Bilateral на одну годину наперед. Таблиця 1 Результати застосування алгоритмів регресії Назва алгоритму регресії Метрика R2 (у спадному порядку) Похибка MAPE (%) k-nearest neighbors 0,957113 1,830244 Random forest 0,956206 1,809735 Extra trees 0,955950 1,799991 Gradient boosting 0,955913 1,835777 NU support vector machine 0,955321 1,838009 3-layer perceptron 0,953522 1,861381 Linear regression 0,952627 1,855467 Алгоритми регресії з бібліотеки scikit-learn, використані для цієї задачі, представлені у табл. 1. Гіперпараметри ал- горитмів були оптимізовані вручну. Засто- Моделі та методи машинного навчання 103 сована метрика R2 є аналогом коефіцієнта кореляції. Найкращий результат показав метод k‑найближчих сусідів. Водночас, не- поганий результат дає й алгоритм лінійної регресії. Це демонструє, що ця задача про- гнозування має переважно лінійну природу. Для даного набору вхідних параметрів слід відзначити низьку абсолютну похибку ал- горитмів “extra trees” та “random forest”. Для формування навчальної та тесто- вої вибірок використовувалися дані з липня 2020-го по грудень 2021-го року. Для запо- внення колонки Bilateral було застосовано метод k-найближчих сусідів. Оптимальні гіперпараметри: кількість сусідів — 14, ме- трика — манхетенська, алгоритм враховує відстань до кожного сусіда. У випадку чоти- рьох вхідних параметрів, зазначених вище, було експериментально доведено, що змен- шення цього набору погіршує результати. Пошук оптимального набору вхід- них параметрів. Наступним кроком слід спробувати використати більшу кількість параметрів, зокрема, з колонки Bilateral. Оптимальна кількість вхідних параметрів для алгоритму машинного навчання завж- ди є обмеженою. Йдеться про те, що зі збільшенням кількості вхідних параметрів алгоритм починає співвідносити випад- кові флуктуації у вхідних даних із вихід- ним значенням. Цей ефект зазвичай на- зивають прокляттям розмірності (curse of dimensionality). Емпіричним шляхом було отримано набір вхідних параметрів, що показані на рис. 2 чорним кольором. Значення Bilateral1 та Bilateral2 були використані на вході мо- делі машинного навчання більш ніж один раз, деталі є наявними у Додатках 1 і 2. Змінилося оптимальне значення гіперпара- метра щодо оптимальної кількості сусідів, тепер це значення складає 4. Результати прогнозування даних для різних алгоритмів наведені у табл. 2. На рис. 3 показані відхилення про- гнозованих значень від реальних для тесто- вої вибірки. Як видно з графіка, ймовірний розподіл похибки прогнозування наближа- ється до нормального. На рис. 4 зображені проміжні резуль- тати прогнозування зі збільшенням кілько- сті клітинок у колонці Bilateral. Це дослі- дження доводить, що для прогнозування ринку двосторонніх договорів оптимально використовувати десь 10–11 значень із на- явної історії даних. Рис. 2. Дані по ринкам електричної енергії в Україні. Чорним виділені клітинки з параметрами, отриманими емпіричним шляхом Таблиця 2 Результати застосування алгоритмів регресії Назва алгоритму регресії Метрика R2 (у спадному порядку) Похибка MAPE (%) k-nearest neighbors 0,986813 0,851226 NU support vector machine 0,982378 1,058797 Gradient boosting 0,982066 1,111225 Extra trees 0,981980 1,076558 Random forest 0,981101 1,113339 3-layer perceptron 0,977275 1,335506 Linear regression 0,969278 1,509372 Моделі та методи машинного навчання 104 Рис. 3. Відновлення колонки Bilateral із застосуванням методу k-найближчих сусідів Рис. 4. Залежність метрики R2 від кількості параметрів з колонки Bilateral Прогнозування об’єму ринку на добу наперед. Є декілька питань, які слід прояснити у рамках дослідження. По-пер- ше, яку оптимальну глибину історичних даних (у годинах) слід використовувати для прогнозування. Ця глибина може бути різ- ною для різних ринків електроенергії. Інша дилема стосується ітеративного підходу. Можна прогнозувати дані 24 рази по одній годині наперед, але й можна прогнозувати відразу на всі 24 години, маючи фіксований стан вікна з вхідними даними. Врахування почасових даних за попередній рік. Використання даних за попередній рік у прогнозуванні може бути корисним із різних точок зору. Наприклад, потужність сонячно-, вітро- та гідро-гене- руючих станцій суттєво залежить від сезо- ну. Можливості сонячних станцій залежать навіть від часу доби. Спалювання вугілля з екологічних міркувань можливе лише у разі, коли інші джерела енергії вже пра- цюють на повну потужність. Дані за попе- редній рік уже враховують перетікання об- сягів електроенергії з одного ринку в іншій. Проте, корисність торішніх даних має бути з’ясована експериментально. Висновки Прогнозування попиту на ринках електроенергії є однією зі складових, яку необхідно втілити для успішного веден- ня бізнесу та оптимізації бізнес-процесів. Поставлено задачу з розробки програмної системи прогнозування загроз в енергетиці України із використанням методів машин- ного навчання. Здійснені експерименти із застосування методів регресії для віднов- лення колонки з даними двосторонніх дого- ворів для задачі прогнозування вироблення та споживання електроенергії. Результати із застосування алгоритмів машинного нав- чання на даних мирного часу показують, що можна з точністю порядку 1 % прогно- зувати обсяги ринку та тарифні плани на го- дину наперед. Така точність має дозволити вийти за межі одноденного планування у майбутньому. Література 1. Ільїна О.П., Сініцин І.П., Слабоспицька О.О. Принципи та моделі експертно-аналі- тичної методології підтримки формування адаптивних організаційних рішень за умов глибокої невизначеності. Проблеми програ- мування. 2022. № 3–4. P. 364–375. 2. Петрівський В.Я., Петрівський Я.Б., Шев- ченко В.Л., Сініцин І.П. Оптимізація траєк- торії руху датчиків з урахуванням важли- вості ділянок територій моніторингу та ймовірності виявлення об’єктів. Проблеми керування та інформатики. 2022. № 2. С. 6–21. 3. Rodin Y.S., Sinitsyn I.P. Security basic model for applied tasks of the distributed information system. Problems in programming. 2021. N 2. P. 16–23. 4. Сініцин І.П., Ігнатенко П.П., Слабоспиць- ка О.О. Архітектурні рішення з автомати- зованої підтримки експертно-аналітичного моніторингу ефективності системи управ- ління озброєнням Збройних Сил України. Створення та модернізація озброєння і вій‑ ськової техніки в сучасних умовах : зб. пр. Моделі та методи машинного навчання 105 20-ї наук.-техн. конф. Чернігів : Вид. Брагі- нець, 2020. С. 95–96. 5. Закон України. Про внесення змін до деяких законодавчих актів України у зв’язку з відо- кремленням діяльності з транспортування природного газу. [Електронний ресурс]. Доступ до ресурсу: https://zakon.rada.gov. ua/laws/show/2019-19#Text (дата звернення: 29.08.2023). 6. Careri F., Genesi C., Marannino P., Montag- na M., Rossi S., Siviero I. Bidding strategies in day-ahead energy markets: system mar- ginal price vs. pay as bid. 7th International Conference on the European Energy Market. 2010. P. 1–7. [Електронний ресурс]. Доступ до ресурсу: https://doi.org/10.1109/EEM. 2010.5558675 (дата звернення: 29.08.2023). 7. Wang F., Ge X., Li K., Mi Z. Day-ahead market optimal bidding strategy and quantitative com- pensation mechanism design for load aggrega- tor engaging demand response. 2019 IEEE/IAS 55th Industrial and Commercial Power Systems Technical Conference (I&CPS). 2019. P. 1–8. [Електронний ресурс]. Доступ до ресурсу: https://doi.org/10.1109/ICPS.2019.8733349 (дата звернення: 29.08.2023). 8. Євдокімов В.А., Полухін А.В. Оптимізація доходу учасників ринку «на добу наперед» через моделювання процесів визначення ціни на цьому ринку. Електронне моделю‑ вання. 2022. Том 44, № 4. С. 121–129. [Елек- тронний ресурс]. Доступ до ресурсу: https:// doi.org/10.15407/emodel.44. 04.121 (дата звернення: 29.08.2023). 9. Singh A.K., Ibraheem S.K., Muazzam M. An overview of electricity demand fore- casting techniques. Network and Complex Systems. 2013. Vol. 3. P. 38–48. [Електро- нний ресурс]. Доступ до ресурсу: https:// www.iiste.org/Journals/index.php/NCS/ article/view/6072/6026 (дата звернення: 29.08.2023). 10. Solyali D. A comparative analysis of machine learning approaches for short-/long-term elec- tricity load forecasting in Cyprus. Sustainabili‑ ty. 2020. Vol. 12, N 9. [Електронний ресурс]. Доступ до ресурсу: https://doi.org/10.3390/ su12093612 (дата звернення: 29.08.2023). 11. Krutsyak M.O. Forecasting demand on the domestic electricity market on the basis of the results of social and economic indicators dynamics analysis. Ekonomichnyy analiz. 2018. Vol. 28. P. 37–46. [Електронний ре- сурс]. Доступ до ресурсу: http://dx.doi.org/ 10.35774/econa2018.03.037 (дата звернення: 29.08.2023). 12. Polukhin A., Evdokimov V. Conceptual prin- ciples of forecasting demand on the day-ahead market using changes in hourly bidded demand between previous similar days (у друці) 13. Shah I., Lisi F. Day-ahead electricity demand forecasting with nonparametric function- al models. 12th International Conference on the European Energy Market (EEM). 2015. P. 1–5. [Електронний ресурс]. Доступ до ресурсу: https://doi.org/10.1109/EEM.2015. 7216741 (дата звернення: 29.08.2023). 14. Vilar J.M., Cao R., Aneiros G. Forecasting next-day electricity demand and price using nonparametric functional methods. Interna‑ tional Journal of Electrical Power & Energy Systems. 2012. Vol. 39, N 1. P. 48–55. [Елек- тронний ресурс]. Доступ до ресурсу: https:// doi.org/10.1016/j.ijepes.2012.01.004 (дата звернення: 29.08.2023). 15. Ferraty W.F., Vieu P. Nonparametric function- al data analysis: theory and practice. Compu‑ tational Statistics. 2008. Vol. 23. P. 341–342. [Електронний ресурс]. Доступ до ресурсу: https://doi.org/10.1007/s00180-008-0111-2 (дата звернення: 29.08.2023). 16. What Is ETL (Extract Transform Load)? [Елек- тронний ресурс]. Доступ до ресурсу: https:// aws.amazon.com/what-is/etl (дата звернення: 29.08.2023). 17. PostgreSQL: The world’s most advanced open source database [Електронний ресурс]. До- ступ до ресурсу: https://www.postgresql. org (дата звернення: 29.08.2023). 18. Pautasso C., Wilde E., Alarcon R. REST: ad- vanced research topics and practical applica- tions. New York: Springer, 2014. 219 p. 19. Scikit-learn. Machine learning in Python. [Електронний ресурс]. Доступ до ресурсу: https://scikit-learn.org/stable (дата звернення: 29.08.2023). References 1. Illina, O.P., Sinitsyn, I.P. & Slabospitska, O.O. (2022) Principles and models of ex- pert-analytical methodology for adaptive or- ganizational decisions forming under deep Моделі та методи машинного навчання 106 uncertainty. Problems in programming. (3–4). p. 364-375. (in Ukrainian) 2. Petrivskyi, V.Ya., Petrivskyi, Ya.B., Shevchen- ko, V.L. & Sinitsyn, I.P. (2022) Optimization of the trajectory of sensors motion taking into account the importance of the areas of the monitoring area segments and the probability of detection of objects. Problems of control and informatics. 67 (2). p. 6-21. (in Ukrainian) 3. Rodin, Y.S. & Sinitsyn, I.P. (2021) Security basic model for applied tasks of the distribut- ed information system. Problems in program‑ ming. (2). p. 16-23. 4. Sinitsyn, I.P., Ignatenko, P.P. & Slabospitska, O.O. (2020) Architectural solutions for auto- mated support of expert-analytical monitoring of the effectiveness of the weapons manage- ment system of the Armed Forces of Ukraine. Proc. 20th Scientific and Technical Conference “Creation and modernization of weapons and military equipment in modern conditions”. Chernihiv: Brahinets. p. 95-96. (in Ukrainian) 5. Law of Ukraine. On Electricity Market. Avail- able from: https://zakon.rada.gov.ua/ laws/ show/2019-19?lang=en#Text [Accessed 29/08/2023]. 6. Careri, F., Genesi, C., Marannino, P., Montag- na, M., Rossi, S. & Siviero, I. (2010) Bidding strategies in day-ahead energy markets: system marginal price vs. pay as bid. 7th International Conference on the European Energy Market. p. 1-7. [Online]. Available from: https://doi. org/10.1109/EEM.2010. 5558675 [Accessed 29/08/2023]. 7. Wang, F., Ge, X., Li, K. & Mi, Z. (2019) Day-ahead market optimal bidding strategy and quantitative compensation mechanism design for load aggregator engaging demand response. 2019 IEEE/IAS 55th Industrial and Commercial Power Systems Technical Con‑ ference (I&CPS). p. 1-8. [Online]. Available from: https://doi.org/10.1109/ICPS.2019. 8733349 [Accessed 29/08/2023]. 8. Evdokimov, V.A. & Polukhin, A.V. (2022) In- come optimization of market participants in the day ahead market by modeling of processes of price determination for day ahead market. Electronic modeling. 44 (4). p. 121-129. [On- line]. Available from: https://doi.org/10.15407/ emodel.44.04.121 [Accessed 29/08/2023]. (in Ukrainian) 9. Singh, A.K., Ibraheem, S.K. & Muazzam, M. (2013) An overview of electricity demand forecasting techniques. Network and Com‑ plex Systems. 3. p. 38-48. [Online]. Avail- able from: https://www.iiste.org/Journals/ index.php/NCS/article/view/6072/6026 [Ac- cessed 29/08/2023]. 10. Solyali, D. (2020) A comparative analysis of machine learning approaches for short-/long- term electricity load forecasting in Cyprus. Sustainability. 12 (9). [Online]. Available from: https://doi.org/10.3390/su12093612 [Accessed 29/08/2023]. 11. Krutsyak, M.O. (2018) Forecasting demand on the domestic electricity market on the basis of the results of social and economic indica- tors dynamics analysis. Ekonomichnyy analiz. 28. p. 37-46. [Online]. Available from: http:// dx.doi.org/10.35774/econa2018.03.037 [Ac- cessed 29/08/2023]. 12. Polukhin, A. & Evdokimov, V. Conceptual principles of forecasting demand on the day- ahead market using changes in hourly bidded demand between previous similar days (in print) 13. Shah, I. & Lisi, F. (2015) Day-ahead electric- ity demand forecasting with nonparametric functional models. 12th International Confer‑ ence on the European Energy Market (EEM). p. 1-5. [Online]. Available from: https://doi. org/ 10.1109/EEM.2015.7216741 [Accessed 29/08/2023]. 14. Vilar, J.M., Cao, R. & Aneiros G. (2012) Forecasting next-day electricity demand and price using nonparametric functional meth- ods. International Journal of Electrical Pow‑ er & Energy Systems. 39 (1). p. 48-55. [On- line]. Available from: https://doi.org/10.1016/ j.ijepes.2012.01.004 [Accessed 29/08/2023]. 15. Ferraty, W.F. & Vieu, P. (2008) Nonparametric functional data analysis: theory and practice. Computational Statistics. 23. p. 341-342. [On- line]. Available from: https://doi.org/10.1007/ s00180-008-0111-2 [Accessed 29/08/2023]. 16. What Is ETL (Extract Transform Load)? [On- line]. Available from: https://aws.amazon.com/ what-is/etl [Accessed 29/08/2023]. 17. PostgreSQL: The world’s most advanced open source database [Online]. Available from: https://www.postgresql.org [Accessed 29/08/2023]. Моделі та методи машинного навчання 107 18. Pautasso, C., Wilde, E. & Alarcon, R. (2014) REST: advanced research topics and practical applications. New York: Springer. 19. Scikit-learn. Machine learning in Python. [On- line]. Available from: https://scikit-learn.org/ stable [Accessed 29/08/2023]. Додаток 1. Фрагмент алгоритму машинного навчання output_names = [‘Bilateral’] feature_names = [‘Bilateral11’, ‘Bilateral10’, ‘Bilateral9’, ‘Bilateral8’, ‘Bilateral7’, ‘Bilateral6’, ‘Bilateral5’, ‘Bilateral4’, ‘Bilateral3’, ‘Bilateral2’, ‘Bilateral2’, ‘Bilateral1’, ‘Bilateral1’, ‘Bilateral1’, ‘Bilateral1’, ‘Bilateral1’, ‘Bilateral1’, ‘Bilateral1’, ‘Bilateral1’, ‘DayAhead1’, ‘Intraday1’, ‘DayAhead’, ‘Intraday’] print(F”Reading the datasets for bilateral column forecasting”) bilateral_dataset = pandas.read_csv(‘datasets/bilateral- available-dataset.csv’) bilateral_training = pandas.read_csv(‘datasets/bilateral- available-training.csv’) bilateral_testing = pandas.read_csv(‘datasets/bilateral- available-testing.csv’) dataset_inputs = bilateral_dataset[feature_names] dataset_outputs = bilateral_dataset[output_names] training_inputs = bilateral_training[feature_names] training_outputs = bilateral_training[output_names] testing_inputs = bilateral_testing[feature_names] testing_outputs = bilateral_testing[output_names] print(“Training the evaluation nearest neighbors regression model”) evaluation_regressor = KNeighborsRegressor(n_neighbors = 4, weights = ‘distance’, algorithm = ‘auto’, p = 1, metric = ‘minkowski’, n_jobs = 8) evaluation_regressor.fit(training_inputs, training_outputs) predicted_training_outputs = evaluation_regressor.predict(training_inputs) predicted_testing_outputs = evaluation_regressor.predict(testing_inputs) print_evaluation_metrics(training_outputs, testing_outputs, predicted_training_outputs, predicted_testing_outputs) Додаток 2. Фрагмент алгоритму ковзаючого вікна print(“Populating the missing bilateral market data”) forecast_source_path = ‘datasets/bilateral- forecast-source.csv’ print(F”Reading the dataset from file {forecast_source_path}”) forecast_data_frame = pandas.read_csv(forecast_source_path) forecast_data_frame_length = forecast_data_frame.shape[0] for i in reversed(range(forecast_data_frame_ length)): if (i % 100 == 0): print(i) if (i == forecast_data_frame_length - 1): bilateral11 = forecast_data_frame.iloc[i][“Bilateral11”] bilateral10 = forecast_data_frame.iloc[i][“Bilateral10”] bilateral9 = forecast_data_frame.iloc[i][“Bilateral9”] bilateral8 = forecast_data_frame.iloc[i][“Bilateral8”] bilateral7 = forecast_data_frame.iloc[i][“Bilateral7”] bilateral6 = forecast_data_frame.iloc[i][“Bilateral6”] bilateral5 = forecast_data_frame.iloc[i][“Bilateral5”] bilateral4 = forecast_data_frame.iloc[i][“Bilateral4”] bilateral3 = forecast_data_frame.iloc[i][“Bilateral3”] bilateral2 = forecast_data_frame.iloc[i][“Bilateral2”] bilateral1 = forecast_data_frame. iloc[i][“Bilateral1”] else: bilateral11 = bilateral10 bilateral10 = bilateral9 bilateral9 = bilateral8 bilateral8 = bilateral7 bilateral7 = bilateral6 bilateral6 = bilateral5 bilateral5 = bilateral4 bilateral4 = bilateral3 bilateral3 = bilateral2 Моделі та методи машинного навчання 108 bilateral2 = bilateral1 bilateral1 = bilateral forecast_data_frame.loc[i, “Bilateral11”] = bilateral11 forecast_data_frame.loc[i, “Bilateral10”] = bilateral10 forecast_data_frame.loc[i, “Bilateral9”] = bilateral9 forecast_data_frame.loc[i, “Bilateral8”] = bilateral8 forecast_data_frame.loc[i, “Bilateral7”] = bilateral7 forecast_data_frame.loc[i, “Bilateral6”] = bilateral6 forecast_data_frame.loc[i, “Bilateral5”] = bilateral5 forecast_data_frame.loc[i, “Bilateral4”] = bilateral4 forecast_data_frame.loc[i, “Bilateral3”] = bilateral3 forecast_data_frame.loc[i, “Bilateral2”] = bilateral2 forecast_data_frame.loc[i, “Bilateral1”] = bilateral1 day_ahead1 = forecast_data_frame.iloc[i][“DayAhead1”] intraday1 = forecast_data_frame.iloc[i][“Intraday1”] day_ahead = forecast_data_frame.iloc[i][“DayAhead”] intraday = forecast_data_frame.iloc[i][“Intraday”] input_list = [bilateral11, bilateral10, bilateral9, bilateral8, bilateral7, bilateral6, bilateral5, bilateral4, bilateral3, bilateral2, bilateral2, bilateral1, bilateral1, bilateral1, bilateral1, bilateral1, bilateral1, bilateral1, bilateral1, day_ahead1, intraday1, day_ahead, intraday] numpy_input = numpy.array(input_list).reshape(1, -1) numpy_output = production_regressor.predict(numpy_input) bilateral = round(numpy_output[0][0], 2) forecast_data_frame.loc[i, “Bilateral”] = bilateral forecast_target_path = ‘datasets/bilateral- forecast-target.csv’ print(F”Writing the dataset to file {forecast_target_path}”) forecast_data_frame.to_csv( forecast_target_path, index = False) Одержано: 11.09.2023 Про авторів: Сініцин Ігор Петрович, доктор технічних наук, директор. Кількість наукових публікацій в українських виданнях – 124. Кількість наукових публікацій в зарубіжних виданнях – 11. Індекс Гірша – 6. https://orcid.org/0000-0002-4120-0784, Шевченко Віктор Леонідович, доктор технічних наук, заступник директора з наукової роботи. Кількість наукових публікацій в українських виданнях – понад 300. Кількість наукових публікацій в зарубіжних виданнях – 17. Індекс Гірша – 4. https://orcid.org/0000-0002-9457-7454, Дорошенко Анатолій Юхимович, доктор фізико-математичних наук, професор, завідувач відділу теорії комп’ютерних обчислень, професор кафедри інформаційних систем та технологій НТУ України «КПІ імені Ігоря Сікорського». Кількість наукових публікацій в українських виданнях – понад 200. Кількість наукових публікацій в зарубіжних виданнях – понад 80. Індекс Гірша – 6. http://orcid.org/0000-0002-8435-1451, Яценко Олена Анатоліївна, кандидат фізико-математичних наук, старший науковий співробітник. Кількість публікацій в українських виданнях – 57. Кількість зарубіжних публікацій – 21. http://orcid.org/0000-0002-4700-6704. Місце роботи авторів: Інститут програмних систем НАН України, 03187, м. Київ, проспект Академіка Глушкова, 40. Тел.: (044) 526 3559. E-mail: ips2014@ukr.net a-y-doroshenko@ukr.net, gii2014@ukr.net oayat@ukr.net