APPLICATION OF DECISION TREES FOR SHORT-TERM FORECASTING OF POWER CONSUMPTION
A.Y. Gorshenin
The article discusses the issues of short-term forecasting ofpower consumption using machine learning methods. An analysis of the effectiveness of using decision trees and ensembles of XGBoost decision trees was carried out. The influence of the number of trees in the ensemble and the size of the training sample on the accuracy of the forecast was studied. Key words: power consumption forecasting, machine learning, decision trees, gradient boosting.
Gorshenin Aleksey Yurievich, postgraduate, [email protected], Russia, Omsk, Omsk State Technical University
УДК 004.032.26
DOI: 10.24412/2071-6168-2024-7-253-254
РАЗРАБОТКА И ВЕРИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СИСТЕМЫ КРАТКОСРОЧНОГО
ПРОГНОЗИРОВАНИЯ ЭЛЕКТРОПОТРЕБЛЕНИЯ
А.Ю. Горшенин
В статье рассмотрены вопросы создания и верификации программного обеспечения, предназначенного для системы прогнозирования электропотребления потребителей энергосбытовых компаний. Показана возможность прогнозирования электропотребления на основе ансамблевых методах машинного обучения. Испытания системы проведены по разработанной методике, предназначенной для оценки качества и точности работы представленных средств прогнозирования. Приведены результаты проверки автоматизируемых функций построения прогнозного графика.
Ключевые слова: верификация программного обеспечения, прогнозирование, электропотребление, методика испытаний, анализ данных.
Одной из важных задач проектирования систем прогнозирования выработки [1-3] или потребления [4-7] электрической энергии является обеспечение стабильности ее распределения и эффективности работы энергосистем. Высокие требования к программному обеспечению (ПО) систем прогнозирования обусловлены существующими правилами Оптового рынка электрической энергии и мощности (ОРЭМ), связанными с необходимостью обеспечения высокой точности прогнозов для распределения электроэнергии между потребителями [8-13].
Основной подход к обеспечению качества ПО для систем прогнозирования электропотребления включает в себя процесс верификации. Верификация ПО представляет собой систематическую проверку того, что ПО соответствует заданным требованиям и спецификациям [14-17]. Это включает в себя не только верификацию кода, но и проверку корректности проведения вычислений и соответствие прогнозов реальным данным [18-20].
Верификация кода гарантирует, что программный код написан корректно, минимизируя возможность ошибок в его выполнении [14]. Верификация вычислений проверяет, что алгоритмы и методы прогнозирования электропотребления работают правильно и дают достоверные результаты [16].
Верификация ПО является важным этапов разработки программного обеспечения, который позволяет гарантировать качество и надежность системы. Для системы прогнозирования электропотребления верификация позволяет убедиться в точности прогнозов, удобстве использования системы и ее соответствии требованиям пользователей.
Системы прогнозирования обрабатывают большие объемы данных «Big Data», которые включают в себя ретроспективные данные об электропотреблении, метеоданных и данных инфраструктуры регионов [7]. Обработка Big Data в системах прогнозирования требует большое количество вычислительных мощностей, поскольку необходимо обеспечить высокую скорость обработки данных, т.к. задачи прогнозирования требуют оперативной аналитики и принятия решений в реальном времени [8].
Для обеспечения бесперебойной работы систем прогнозирования необходимо учитывать вопросы безопасности и конфиденциальности данных. Поскольку данные могут содержать коммерческую тайну компаний и информацию об электропотреблении потребителей, требуется обеспечить их защиту от несанкционированного доступа.
В статье рассмотрены вопросы разработки и верификации алгоритмических и программных решений для систем краткосрочного прогнозирования.
Постановка задачи.
Для обеспечения правильной работы системы прогнозирования необходимо провести процесс верификации, подтверждающий соответствие системы установленным требованиям. При верификационной проверке системы необходимо выполнить анализ причин возможных ошибок, планирование процессов их выявления и оценку полученных результатов.
На начальном этапе верификации ПО определяются требования к разрабатываемому ПО, составляются варианты тестирования функций системы, разрабатывается методика проведения испытаний с указанием ожидаемых результатов. Для корректной работы системы прогнозирования необходимо, чтобы она выполняла следующие функции:
1. Сбор и предобработка данных. Система должна эффективно собирать данные из различных источников, включая внешние API, базы данных и пользовательский ввод. Совершать проверку корректности сбора данных, обработки ошибок при недоступности источников или изменении формата данных.
2. Обучение модели прогнозирования. Система должна использовать алгоритмы машинного обучения модели на основе собранных данных.
3. Расчет прогнозов. Система должна предоставлять визуализацию данных прогнозирования в виде графика прогноза и предоставлять прогнозные значения в табличном виде.
Для проверки выполнения этих функций используются следующие методы верификации:
- тестирование модулей - проверка отдельных компонентов системы на соответствие их спецификациям;
- интеграционное тестирование - проверка взаимодействия различных компонентов системы;
- функциональное тестирование - проверка выполнения системой заданных функций;
- нефункциональное тестирование - проверка производительности, безопасности, надежности и других нефункциональных характеристик.
Результаты верификации и тестирования используются для оценки качества разработанного ПО и выявления ошибок.
Описание разрабатываемой системы.
В качестве исходной информации для краткосрочного прогнозирования электропотребления использовались ретроспективные данные об электропотреблении, поступающие из автоматизированной системы коммерческого учета электроэнергии (АСКУЭ), метеоданные, поступающие из информационных сервисов погодных условий и данные инфраструктуры региона.
Процесс прогнозирования состоит из следующих этапов:
1. Сбор данных:
- Система использует скрипт для сбора данных из сети Интернет для сбора данных о метеоданных и данных инфраструктуры региона.
- Скрипт проверяет доступность внешних источников и обрабатывает ошибки, возникающие при сборе
данных.
2. Обучение модели:
- Собранные данные подготавливаются для обучения модели.
- Скрипт использует алгоритм машинного обучения для обучения модели прогнозирования на основе подготовленных данных.
3. Расчет прогнозов производится применением обученной модели для расчета прогнозных значений электропотребления. Результаты прогноза проверяются на стабильность и воспроизводимость при повторном использовании тех же данных.
4. Визуализация данных происходит путем построения графика прогноза.
5. Взаимодействие с пользователем через клиентскую часть приложения, которая предоставляет пользовательский интерфейс для взаимодействия с системой и визуализации результатов.
На рис. 1 представлена схема системы краткосрочного прогнозирования электропотребления. Пользователь системы (оператор) взаимодействует с программным интерфейсом, который предоставляет следующие возможности:
- определение параметров прогнозной модели, включая целевую переменную и набор зависимых переменных;
- отображение результатов прогнозирование в табличном виде;
- вывод прогнозного графика с доверительным интервалом.
Система получает данные из внешних источников: информационных сервисов погоды, АСКУЭ и административных ресурсов региона. Внешние данные проходят предобработку, которая включает в себя: извлечение данных из различных данных и источников (парсинг внешних источников); очистку, фильтрацию, агрегирование и преобразование в формат языка программирования Python для дальнейшего анализа и моделирования.
Серверная часть ПО системы краткосрочного прогнозирования состоит из анализа и предобработки исходных данных, модуля заполнения пропущенных значений (обработка пропусков в данных происходит при помощи метода интерполяции), модуль выявления выбросов (методом IQR, удалением 25 процентиля), модуль выявления значимых параметров (определение наиболее значимых параметров, влияющих на электропотребление, с помощью метода SHAP).
К части инициализации моделей прогнозирования и получения прогнозов относится создание и настройка моделей прогнозирования на основе методов ансамблей деревьев решений и искусственных нейронных сетей (ИНС), результатом работы моделей прогнозирования является получение прогнозных значений электропотребления.
Для реализации гибридной модели прогнозирования требуется инициализировать веса каждой прогнозной модели для дальнейшей их оптимизации методом градиентного спуска. Результатом работы ПО системы краткосрочного электропотребления являются прогнозные значения на заданный отрезок времени. Оценка эффективности работы моделей происходит путем расчета среднеквадратичной ошибки и средней ошибки в процентах (в случае уже известных прогнозных значений).
Программное обеспечение системы прогнозирования построено на основе архитектуры клиент-серверного приложения. Для клиентской части используется фреймворк (оболочка для языка, которая предоставляет специализированные функции) React.js, обеспечивающий интуитивно понятный и отзывчивый интерфейс. Серверная часть системы реализована с использованием фреймворка aiohttp, что обеспечивает стабильную и масштабируемую серверную часть. В качестве системы управления базами данных выбран PostgreSQL.
Проводимые эксперименты для верификации ПО. Проведена верификация корректной работы функций разработанной системы краткосрочного прогнозирования электропотребления с помощью процедуры проверки и методики испытания модели. Для этого составлены несколько процедур проверки работы системы и представлены результаты сверки полученных решений системы с результатами прогнозирования электропотребления.
программный интерфейс пользователя
Оператор
Данные из внешних источников
Выбор целевой функции и зависимых переменных
Вывод таблицы результатов Вывод прогнозного графика
База данных технологических параметров
И нформационные сервисы погодных условий
Данные инфраструктуры региона
Автоматизированная система коммерческого учета электроэнергии
Выгрузка обработанных данных
11
серверная часть программного комплекса краткосрочного прогнозирования электропотребления
Анализ и предобраоотка исходных данных
Инициализация моделей прогнозирования и получение прогнозов
Инициализация
моделей прогнозирования
Получение прогнозных значений моделей
Инициализация весов каждой модели
Оптимизация весов каждой модели
Получение
итоговых —J эффективности
значений работы моделей
Рис. 1. Схема системы прогнозирования
В проверяемой системе прогнозирования электропотребления верификации подлежат как сама система, так и входящие в ее состав подсистемы, участвующие в прогнозировании, обработке, хранении и анализе исходных данных. В результате составлены представленные в таблицах 1-2 процедуры верификации. В таблице 1 представлен перечень наименований компонентов программы, необходимых для проведения верификации работы системы.
Таблица 1
Состав ПО системы прогнозирования электропотребления_
№, п/п Наименование файла Тип файла Выполняемые функции
1 Runpy Файл сценария на языке программирования Python Запуск сервера, монтирование маршрутов и логирование
2 Model_forecast. py Обучение модели, создание прогноза, построение прогнозного графика
3 Config.py Хранение констант настраиваемых при монтировании на сервер
4 apiRoute.py Взаимодействие с клиентом и создание маршрутов
5 Parsing.py Сбор данных с внешних источников информации в сети Интернет
6 Index.js Файл сценария на языке программирования JavaScript Запуск клиентской части приложения
Таблица отображает основные характеристики построенного ПО системы прогнозирования, основанного на языках программирования Python и JavaScript. Данное ПО обладает модульной структурой, в которой каждый элемент выполняет определенный набор функций, обеспечивая ее функциональность и эффективную работу. Программное обеспечение системы прогнозирования включает в себя как серверную, так и клиентскую части, что обеспечивает пользовательское взаимодействие с ней через веб-интерфейс.
В таблице 2 представлены процедуры верификации разработанной программы с требованиями к ожидаемым результатам и критериям оценки корректности отработки системы и ее компонентов.
Представлен комплексный подход к верификации ПО, охватывающий все аспекты системы, включая алгоритмы обучения и прогнозирования, API-функции, конфигурацию, сбор данных, запуск сервера и клиентскую часть приложения. Для каждой процедуры проверки определена методика испытаний, включающая подготовку тестовых данных, выполнение тестов и оценку результатов. Верификация оценивает, как функциональные требования системы (точность прогнозов, корректность работы АР1), так и не функциональные характеристики (производительность, безопасность, обработка ошибок). В таблице 3 представлены результаты тестирования ПО системы краткосрочного прогнозирования электропотребления.
Таблица содержит фрагмент результатов тестирования ПО системы краткосрочного прогнозирования электропотребления. Для обучения модели прогнозирования используется набор данных D, с ограничением времени обучения не более 5 минут Фактическое время, затраченное на обучение модели, составило 49,2 секунды, что соот-
ветствует критериям оценки. Результаты построения графика демонстрируют полное соответствие заявленным критериям оценки. Прогнозные значения четко отображены на графике, который соответствует стандартам визуализации, линии не перекрывают друг друга, также отсутствуют какие-либо видимые ошибки или аномалии. Выполнен сбор данных на 28.02.2024 в полном объеме и без ошибок, что подтверждает качество собранных данных.
Таблица 2
Процедуры проверки и методика испытаний ПО_
Процедура проверки Методика испытаний Критерии оценки / ожидаемый результат
1.1 Проверка алгоритмов обучения и прогнозирования. Верификация корректности графиков прогнозов. 1. Подготовка данных для тестирования: а) подготовить тестовый набор данных, который включает в себя разнообразные сценарии использования системы, включая, граничные значения и типичные случаи использования; б) загрузить тестовые данные в систему; в) запустить процесс обучения модели с использованием тестовых данных; г) оценить время, затраченное на обучение и использование ресурсов системы. 2. Тестирование алгоритма прогнозирования: а) Используя обученную модель, выполнить прогнозирование на другом наборе тестовых данных, который не использовался при обучении; б) записать результаты прогноза и время выполнения прогнозирования; 3. Проверка корректности графиков прогноза: а) используя результаты прогноза, построить графики; б) с помощью скриптов проверить, что графики корректно отображают данные прогноза; в) проверить, соответствуют ли графики установленным требованиям отображения и точности данных. 1. Критерии оценки для обучения модели: а) модель должна обучаться в пределах установленного времени; б) ресурсы системы используются без перегрузок (превышения допустимого объема данных); в) ошибка прогнозирования должна соответствовать заданным требованиям (не выше 5%). 2. Критерии оценки для прогнозирования: а) время выполнения прогноза не должно превышать установленные лимиты; б) результаты прогноза должны быть стабильны и воспроизводимы при повторном использовании тех же данных. 3. Критерии оценки для графиков прогноза: а) графики должны точно отображать данные прогноза; б) графики должны соответствовать стандартам отображения: правильное использование цветов, метод, легенд и т.д. в) ошибки в графиках (неверные значения или перекрывающиеся линии) не допускаются.
1.2 Проверка корректности работы API маршрутов 1. Тестирование доступности маршрутов: а) использование инструментов для отправки HTTP запросов для проверки каждого маршрута; б) проверить ответ сервера на корректность статусов ответов 2. Проверка передачи данных: а) отправить запросы с корректными и некорректными данными. б) проверить обработку запросов с некорректными данными, ожидаемое поведение - возврат ошибки с соответствующим статусом. 3. Тестирование на безопасность: а) проверка защиты от основных видов атак (SQL инъекции, XSS, CSRF); б) проверка наличия аутентификации и автоматизации входа в систему; 4. Тестирование производительность: а) тестирование маршрутов на высокую нагрузку и стабильность при множественных параллельных запросах. 1. Все API маршруты должны корректно обрабатывать валидные запросы и возвращать ожидаемые результаты. 2. Сервер должен корректно обрабатывать невалидные данные, возвращая ошибки без сбоев в работе. 3. Все маршруты должны быть защиты от известных уязвимостей. 4. API должен поддерживать заданное число одновременных запросов без значительного снижения производительности
1.3 Проверка корректного чтения и использования констант из файла конфигурации 1. Проверка наличия файла конфигурации и его доступности. 2. Проверка корректности формата конфигурации. 3. Тестирование чтения констант из файла конфигурации. 4. Проверка правильности использование констант в основном коде программы. 5. Проверка обработки ошибок при отсутствии файла конфигурации или некорректном формате. 1. Файл конфигурации должен существовать и быть доступным для чтения. 2. Формат файл конфигурации должен быть корректном. 3. Константы должны успешно читаться из файла конфигурации и использоваться в программе. 4. При изменении констант в файле конфигурации изменения должны отражаться в поведении программы без необходимости изменения кода. 5. Обработка ошибок должна быть реализована таким образом, чтобы программа продолжала работать при возникновении проблем с файлом конфигурации.
1.4 Проверка корректного сбора данных с внешних источников. Проверка обработки ошибок при доступе к внешним источникам. Проверка обработки изменений формата или структуры данных на внешних источниках. 1. Подготовка тестовых данных для сбора. 2. Проверка доступности внешних источников данных. 3. Тестирование сбора данных с внешних источников. 4. Проверка обработки ошибок при недоступности или некорректных данных на внешних источниках. 5. Тестирование обработки изменений формата или структуры данных на внешних источниках. 6. Проверка производительности сбора данных (время выполнения операций). 7. Проверка на безопасность ввода данных. 1. Сбор данных должен быть успешно выполнен с внешних источников. 2. Обработка ошибок должна быть реализована таким образом, чтобы программа продолжала корректно работать при возникновении проблем с доступов к внешним источникам или при получении некорректных данных. 3. При изменениях формата или структуры данных на внешних источниках программа должна корректно адаптироваться к новым условиям без необходимости изменения кода. 4. Время выполнения сбора данных должно быть приемлемым согласно требованиям (не более 10 секунд на одни сутки в интервале данных). 5. Сбор данных должен быть безопасным, и должны быть реализованы соответству-
ющие меры безопасности для предотвращения уязвимостей.
1.5 Проверка успешного запуска сервера. Проверка корректности монтирования маршрутов. Проверка правильного функционирования логирования. Проверка обработки ошибок при запуске сервера и доступе к маршрутам. 1. Запуск сервера с помощью файла Кып.ру. 2. Проверка доступности сервера через веб-браузер или другой клиентский инструмент. 3. Проверка доступности всех маршрутов, определенных в приложении. 4. Проверка корректности маршрутов: отправка запросов на каждый маршрут и проверка полученного ответа на соответствие ожидаемому результату. 5. Проверка логирования: проверка создания лог-файлов и записи в них соответствующих событий. 6. Проверка обработки ошибок: вызов исключительных ситуаций и проверка реакции приложения на них. 1. Сервер должен успешно запускаться с помощью файла Кып.ру. 2. Все маршруты должны быть доступны и отвечать на запросы клиентов согласно ожидаемому поведению. 3. Логирование должно происходить корректно, лог-файлы должны содержать информацию о событиях, происходящих в приложении. 4. При возникновении ошибок приложение корректно должно обрабатывать их и сообщать об это в логах.
1.6 Проверка успешного запуска клиентской части приложения. Проверка корректного отображения интерфейса. Проверка функциональности интерактивных элементов. Проверка обработки ошибок при загрузке и выполнении клиентской части приложения. 1. Запуск клиентской части приложения с помощью файла lnd.ex.js. 2. Проверка корректного отображения всех элементов пользовательского интерфейса. 3. Проверка корректности работы интерактивных элементов: отправка форм, обработка кликов по кнопкам, обновление данных без перезагрузки страницы. 4. Проверка адаптивности интерфейса: проверка корректного отображения на различных устройствах и разрешениях экрана. 5. Проверка обработки ошибок: загрузка страницы при наличии ошибок в коде, обработка ошибок сети, обработки ошибок ввода данных. 1. Клиентская часть приложения должна успешно запускаться с помощью файла Index.js. 2. Весь пользовательский интерфейс должен отображаться корректно. 3. Все интерактивные элементы должны работать согласно ожидаемому поведению. 4. При возникновении ошибок приложение должно корректно обрабатывать их и сообщать об этом пользователю.
Таблица 3
Фрагмент результатов тестирования ПО_
Входные данные Критерий оценки Фактический результат
Набор данных обучающей выборки В Модель должна обучаться в пределах установленного времени - не более 5 мин. См. рис. 2.
Набор прогнозных значений электропотребления У/у и отметки времени Timestamp Критерии оценки для графиков прогноза: а) графики должны точно отображать данные прогноза; б) графики должны соответствовать стандартам отображения: правильное использование цветов, метод, легенд и т.д. в) ошибки в графиках (неверные значения или перекрывающиеся линии) не допускаются. См. рис. 3.
Запрос сбора данных на 28.02.2024 Сбор данных должен быть успешно выполнен с внешних источников. См. рис. 4.
Обучение Прогноз
загрузить обучить Время обучения: 49.2 сек.
Рис. 2. Скорость обучения модели прогнозирования
На рисунке 3 представлен интерфейс разработанного ПО системы краткосрочного прогнозирования электропотребления. Интерфейс программы выполнен в минималистичном стиле и имеет интуитивно понятный пользовательский интерфейс.
Обучение
Прогноз
Прогноз
Рис. 3. Результат работы ПО системы краткосрочного прогнозирования
257
В окне «Прогноз» представлены прогнозные значения и интерактивный график с доверительным интервалом. Оператор, опираясь на свой опыт, может передвинуть по вертикали точки значений на графике для уточнения прогноза. Средняя ошибка на прогнозируемый день составила 1,04%. На рисунке 4 представлен результат работы функции сбора данных из внешних источников.
Tirriestamp VI Т Ld Cwd hid Nm Nmd Н Wi
28.32.24 0:00 447.5"" -0.4 3,3958 3 3 2 2В О 74 7
2S. 35.24 1:00 436,252 -37 3,3958 3 3 2 2В 1 74, 3 3 3 3 3 7
2S. 32.24 2:00 427.164 -1.1 3,3958 3 3 2 26 2 74,66657 7
2S. 32.24 3:00 420. -1.4 3,3958 3 3 2 26 3 75 7
2S.02.24 4:30 415.-23 -1.5 0,3958 в 3 2 26 4 75,33133 7
2S.02.24 5:00 42S.734 -1.7 0,3958 в 3 2 26 5 75,66667 7
2S.02.24 6:00 463.628 -1.S 0,3958 в 3 2 26 £ 76 7
2S.32.24 7:00 457.422 -2.1 0,3958 в 3 2 26 7 77, 3 3 3 3 3 7
28.02.24 Е:00 514.275 -2,5 0,3958 в 3 2 26 £ 76,66667 7
2S.02.24 9:30 533.713 -3.4 0,3958 в 3 2 26 9 BO 7
2В.32.24 10:00 541.491 -2..3 3,3958 в 3 2 26 111 77,66667 7,333333
2В.32.24 1 1:00 541.107 3,3958 в 3 2 26 11 75,3 3 3 3 3 7,65iiii7
2В.32.24 12:00 53Э.ВВ2 -3.2 3,3958 в 3 2 26 12 73 6
2В. 32.24 13:00 535.752 -0,2 3,3958 в 3 2 26 13 72 5,333333
28.32.24 14:00 535.266 -0,2 3,3958 в 3 2 26 14 71 5,555557
28.02.2415:00 532.023 -3.2 0,3958 0 3 2 26 15 70 9
28.02.2416:00 525.54« -3.4 0,3358 0 3 2 26 IS 71,3 3 3 3 3 5,555557
20.02.2417:00 537.253 -I!- 3.3958 0 3 2 26 17 72,66667 5,333333
20.02.24 18:00 557.264 3,3958 0 3 2 26 IE 74 £
20.02.24 1 9:00 556.3S5 3,3958 0 3 2 26 1? 73,66667 7,555557
20.02.24 20:00 545.056 -3,3 3,3958 0 3 2 26 20 73,33333 7,333333
28.02.24 21:00 53" .-ИМ -з,- 3.3958 0 3 2 26 21 73 7
28.02.24 22:00 £04.573 -3,3 3,3958 0 3 2 26 22 74 7,333333
28.02.24 23:00 4 77.755 -3,5 3,3958 в 3 2 26 Z3 75 7,555667
Рис. 4. Результат работы функции сбора данных из внешних источников
Проверенные функции показали, что предложенная методика испытаний позволяет эффективно оценивать качество и функциональность ПО для системы прогнозирования. Также разработанная методика испытаний позволила провести комплексную верификацию системы и подтвердить ее соответствие заданным требованиям.
Заключение. В результате проведенного исследования разработано ПО системы краткосрочного прогнозирования электропотребления, основанной на ансамблевых методах машинного обучения и искусственных нейронных сетях. Представленная методика испытаний позволила осуществить верификацию ПО и подтвердить соответствие установленным требованиям. Результаты испытаний выявили, что модель прогнозирования обладает высокой точностью прогнозирования. Кроме того, система работает без перегрузок и обладает стабильностью результатов при анализе наборов данных. Методика испытаний позволяет проверить результаты и подтвердить их эффективность.
Список источников
1.Горшенин А.Ю., Денисова Л.А. Прогнозирование выработки электроэнергии ветроэлектростанцией с применением рекуррентной нейронной сети // Известия Тульского государственного университета. Технические науки. 2023. № 4. С. 39-45. DOI 10.24412/2071-6168-2023-4-39-45.
2.Горшенин А.Ю., Блохин А.В., Грицай А.С. Исследование параметров, влияющихна выработку электроэнергии ветроэлектростанций // Информационные технологии в науке и производстве: Материалы IX Всероссийской молодежной научно-технической конференции, Омск, 19-20 апреля 2022 года. - Омск: Омский государственный технический университет, 2022. - С. 110-116. - EDN BTWPAL.
3.Васина Д.И., Горшенин А.Ю. Предварительная подготовка данных для последующего краткосрочного прогнозирования солнечной электроэнергии // Россия молодая: передовые технологии - в промышленность. 2023. № 1. С. 42-45. DOI 10.25206/2310-4597-2023-1-42-45.
4.Горшенин А.Ю., Грицай А.С., Денисова Л.А. Применение машинного обучения деревьев решений для краткосрочного прогнозирования электропотребления // Известия Тульского государственного университета. Технические науки. 2023. № 11. С. 226- 231. DOI 10.24412/2071-6168-2023-11-226-227.
5.Горшенин А.Ю., Грицай А.С., Николаев А.В. Модель краткосрочного прогнозирования электропотребления для АО «атомэнергосбыт» с использованием ансамбля градиентного бустинга // Международный форум KAZAN DIGITAL WEEK - 2023 : Сборник материалов, Казань, 20-22 сентября 2023 года / Сост. Р.Ш. Ахмадиева, Р.Н. Минниханов. Под общей редакцией Р.Н. Минниханова. - Казань: Научный центр безопасности жизнедеятельности, 2023. С. 529-537.
6.Горшенин А.Ю. Сравнение методов на основе деревьев решений в задаче краткосрочного прогнозирования электропотребления // Математические структуры и моделирование. 2023. № 4(68). С. 12-21. DOI 10.24147/2222-8772.2023.4.12-21.
7.Горшенин А.Ю. Формирование выборки исходных данных для машинного обучения модели краткосрочного прогнозирования электропотребления // Автоматизация в промышленности. 2023. № 10. С. 37-41. DOI 10.25728/avtprom.2023.10.08.
8.Валь П.В. Краткосрочное прогнозирование электропотребления горного предприятия с использованием однофакторных методов // Вестник Сибирского государственного аэрокосмического университета им. академика М.Ф. Решетнева. 2011. № 2(35). С. 12-17.
9. Анушина Е.С. Прогнозирование временных рядов на основе интеллектуальных вычислительных технологий // Информатика и системы управления. 2009. № 1 (19). С. 84-90.
10. Макоклюев Б.И., Полижаров А.С., Локтионов С.В. Краткосрочное прогнозирование электропотребления в энергосистемах России //Электрические станции. 2018. № 4 (1041). С. 24-35.
11. Серебряков Н.А. Применение ансамбля глубоких нейронных сетей в задачах краткосрочного прогнозирования почасового электропотребления гарантирующего поставщика электроэнергии // Электротехнические системы и комплексы. 2021. № 2(51). С. 52-60. DOI 10.18503/2311-8318-2021-2(51)-52-60.
12. Васина Д.И. Обзор и апробирование методов машинного обучения для краткосрочного прогнозирования // Математические структуры и моделирование. 2023. № 4(68). С. 59-70. DOI 10.24147/2222-8772.2023.4.59-70.
13. Васина Д.И. Определение выработки выходной мощности переменного тока солнечной электроэнергии // Мехатроника, автоматика и робототехника. 2023. № 11. С. 202-204. DOI 10.26160/2541-8637-2023-11-202-204.
14. Панков Д.А., Денисова Л.А. Контроль и диагностика неисправностей программно-аппаратного комплекса // Омский научный вестник. 2018. № 2(158). С. 128-133. DOI 10.25206/1813-8225-2018-158-128-133.
15. Понятский В.М., Федорищева В.Г. Валидация и верификация встраиваемого программного обеспечения на ранних ста диях проектирования // Известия Тульского государственного университета. Технические науки. 2019. № 4. С. 341-354.
16. Денисова Л.А. Многокритериальная оптимизация на основе генетических алгоритмов при синтезе систем управления. - Омск : Омский государственный технический университет, 2014. 172 с. EDN TGNAMT.
17. Серобабов А.С. Серобабова А.Л., Денисова Л.А. Разработка и верификация программного обеспечения системы принятия врачебных решений // Россия молодая: передовые технологии - в промышленность. 2023. № 1. С. 79-84. DOI 10.25206/2310-4597-2023-1-79-84.
18. Белоносов М.А., Кишкин В.Л., Королев С.А. Верификация процедур генерации и загрузки прикладных программ систем безопасности атомных электростанций методом обратного преобразования // Известия высших учебных заведений. Ядерная энергетика. 2018. № 2. С. 146-156. DOI 10.26583/пре.2018.2.14.
19. Девянин П.Н., Тележников В.Ю., Хорошилов А.В. Формирование методологии разработки безопасного системного программного обеспечения на примере операционных систем // Труды Института системного программирования РАН. 2021. Т. 33, № 5. С. 25-40. DOI 10.15514/ISPRAS-2021-33(5)-2.
Горшенин Алексей Юрьевич, аспирант, [email protected]. Россия, Омск, Омский государственный технический университет
DEVELOPMENT AND VERIFICATION OF SOFTWARE FOR A SHORT-TERM POWER CONSUMPTION FORECASTING SYSTEM
A.Y. Gorshenin
The article discusses the issues of creating and verifying software designed for a system for forecasting power consumption of consumers of energy supply companies. The possibility offorecasting power consumption based on ensemble machine learning methods is shown. The system was tested using a developed methodology designed to assess the quality and accuracy of the presented forecasting tools. The results of testing automated functions for constructing a forecast graph are presented.
Key words: software verification, forecasting, power consumption, test methods, data analysis.
Gorshenin Aleksey Yurievich, postgraduate, [email protected]. Russia, Omsk, Omsk State Technical University
УДК 004.771:004.056.52
DOI: 10.24412/2071-6168-2024-7-259-260
ПОДХОД К РАННЕМУ ОБНАРУЖЕНИЮ DDOS-АТАК С ИСПОЛЬЗОВАНИЕМ ИНТЕГРАЦИИ ИНСТРУМЕНТА SNORT С SDN-КОНТРОЛЛЕРАМИ
О.М. Степанюк, А.С. Подшибякин
В статье представлен подход, предлагаемый для раннего обнаружения DDoS-атак в программно-конфигурируемых сетях (SDN) с использованием системы обнаружения вторжений SNORT. Исследование фокусируется на интеграции SNORT с популярными SDN-контроллерами OpenDayLight (ODL) и Open Network Operating System (ONOS). Проведена серия экспериментов с различными сценариями сетевого трафика с использованием эмулятора Mininet и инструментов стресс-тестирования для имитации DDoS-атак. Оценка эффективности предложенного решения произведена на основе таких параметров, как время обнаружения атаки, RTT, потери пакетов и времени выхода контроллеров из строя. Результаты показали, что разработанный инструмент способен эффективно обнаруживать различные типы DDoS-атак, при этом контроллер ODL демонстрирует лучшую производительность по сравнению с ONOS. Исследование вносит вклад в повышение безопасности SDN и может служить основой для дальнейших разработок в области защиты от DDoS-атак в программно-конфигурируемых сетях.
Ключевые слова: программно-конфигурируемые сети (SDN), DDoS-атаки, система обнаружения вторжений SNORT, OpenDayLight (ODL), Open Network Operating System (ONOS), информационная безопасность, сетевая безопасность, раннее обнаружение атак, Mininet, стресс-тестирование сети.
В настоящее время важной задачей в области развития информационно-телекоммуникационных систем является внедрение новых сетевых технологий, наиболее перспективные из которых основаны на применении программно-конфигурируемых сетей (Software-Defined Networking, SDN). Характерная особенность таких сетей заключается в разделении плоскостей управления и передачи данных, что позволяет централизовать управление сетью в SDN-контроллере и обеспечить ряд преимуществ, таких как гибкость, масштабируемость и увеличение надежности функционирования сети.