Список литературы
1. Васильев А.А. Методы и модели прогнозирования объема продаж в маркетинге // Известия Тульского государственного университета. Экономические и юридические науки. 2021. № 2. С. 213-216.
2. Reynolds C.F. A Distributed Behavioral Model / C.F Reynolds, Herds, and Schools // Computer Graphics. 1987. Vol. 21. no. 4. P. 25-34.
3. Гратинский В.А., Новиков Е.М., Захаров И.С. Экспертная оценка результатов верификации инструментов верификации моделей программ // Труды ИСП РАН. 2020. Т.32, № 5. С. 7-20.
4. Kennedy J. Particle swarm optimization / J. Kennedy, R.C. Eberhart // International Conference on Neural Networks (ICNN'95). Perth, WA, Australia. 1995. P. 1942-1948.
5. Shi Y. A modified particle swarm optimizer / Y. Shi, R. Eberhart // IEEE International Conference on Evolutionary Computation. Anchorage, AK, USA. 1998. P. 69-73.
6. Анушина Е.С. Прогнозирование временных рядов на основе интеллектуальных вычислительных технологий // Информатика и системы управления. 2009. №1(19). С. 84-90.
7. Pham D.T. The Bees Algorithm - A Novel Tool for Complex Optimisation Problems / D.T. Pham, A. Ghan-barzadeh, E. Kof, S. Otri , S. Rahim, M. Zaidi. 2005. 40 p.
8. Soman S.S., Zareipour H., Malik O., Mandal P. A review of wind power and wind speed forecasting methods with different time horizons // North American Power Symposium. 2010.
9. Denisova L.A. A mathematical model of a digital control system with variable parameters // Automation and Remote Control. 2012. Vol. 73 (11). P. 1895-1901.
10. Денисова Л.А. Математическая модель цифровой системы регулирования с переменными параметрами // Автоматизация в промышленности. 2011. №9. С. 45-48.
Шабунин Сергей Владимирович, аспирант, [email protected], Россия, Омск, Омский государственный технический университет
VERIFICATION OF SOFTWARE FOR THE SYSTEM OF FORECASTING SALES VOLUMES OF A TRADE
ORGANIZATION
S. V. Shabunin
The article considers the issues of creation and verification of software intended for the system of forecasting sales volumes of automobile batteries of a trading organization. The possibility offorecasting based on an artificial neural network is shown. The system was tested according to the developed methodology intended to assess the quality and accuracy of the presented forecasting tools. The results of checking the automated functions of constructing a forecast schedule are presented.
Key words: software verification, forecasting, testing methodology, data analysis.
Shabunin Sergey Vladimirovich, postgraduate, AgranomMotor@yandex. ru, Russia, Omsk, Omsk State Technical
University
УДК 004.032.26
DOI: 10.24412/2071-6168-2024-10-261 -262
РАЗРАБОТКА И ВЕРИФИКАЦИЯ СИСТЕМЫ КРАТКОСРОЧНОГО ПРОГНОЗИРОВАНИЯ ЭЛЕКТРОПОТРЕБЛЕНИЯ РЕСУРСОСНАБЖАЮЩЕГО ПРЕДПРИЯТИЯ
А.В. Блохин
В статье рассмотрены вопросы разработки и верификации системы краткосрочного прогнозирования электропотребления для ресурсоснабжающего предприятия. Система использует ретроспективные данные об электропотреблении предприятием и позволяет прогнозировать потребление на основе заданной пользователем даты, дня недели и праздничного статуса. В статье также рассмотрены методики и результаты верификации программного обеспечения, подтверждающие корректность и стабильность работы системы.
Ключевые слова: электропотребление, краткосрочный прогноз, машинное обучение, верификация программного обеспечения, анализ данных, тестирование программного обеспечения
В условиях современных энергосистем одной из ключевых задач является обеспечение стабильности распределения и потребления электроэнергии. Особенно это актуально для участников Оптового рынка электрической энергии и мощности (ОРЭМ) [1-5]. ОРЭМ представляет собой рынок, на котором заключаются сделки по купле-продаже электрической энергии и мощности в рамках контрактов, заключенных между производителями, потребителями и посредниками [6-8]. Участники ОРЭМ обязаны предоставлять точные прогнозы по объёмам электропотребления, поскольку это напрямую влияет на баланс между генерацией и потреблением, а также на установление справедливых тарифов [9].
Нарушения в прогнозировании электропотребления могут привести к негативным последствиям для всей энергосистемы: перегрузкам сети, дисбалансу между производством и потреблением, и даже к аварийным ситуациям [10-13]. Кроме того, точные прогнозы необходимы для расчета резервов мощности, снижения операционных затрат
261
и повышения экономической эффективности работы энергосистем. Для энергосбытовых и ресурсоснабжающих компаний точность прогнозов является критически важным фактором, так как это напрямую влияет на их конкурентоспособность на ОРЭМ [14].
Краткосрочные прогнозы электропотребления особенно важны для планирования работы энергосистемы в ближайшие сутки. На ОРЭМ оперативные прогнозы позволяют участникам заранее планировать закупку или продажу электроэнергии, минимизируя риски превышения планов и связанные с этим штрафы. Точные прогнозы также помогают избежать излишних резервов мощности и перегрузок сети, что улучшает качество и надёжность энергоснабжения [15].
Эффективные методы краткосрочного прогнозирования могут также существенно снизить затраты на компенсацию потерь электроэнергии в сетях, что делает их критически важными для эффективного функционирования ОРЭМ. В условиях динамично меняющихся факторов, таких как погодные условия, выходные и праздничные дни, использование исторических данных и современных методов машинного обучения становится обязательным элементом процесса прогнозирования [16].
Для обеспечения качества и надёжности программного обеспечения (ПО), предназначенного для прогнозирования электропотребления, критически важна верификация разработанных решений. Верификация - это процесс систематической проверки того, что программный продукт соответствует заданным требованиям и спецификациям. Основные задачи верификации включают подтверждение правильности выполнения расчетов, достоверности прогнозов и соответствия реальным данным [17].
Существует несколько методов верификации программного обеспечения:
- тестирование модулей: на этапе разработки ПО проверяются отдельные компоненты программы (модули) на соответствие их функциональным спецификациям. Для систем прогнозирования, это может включать проверку алгоритмов обработки данных, построения прогнозов и визуализации результатов;
- интеграционное тестирование: проводится проверка взаимодействия между различными модулями системы. Это важно для прогнозных систем, где взаимодействуют компоненты сбора данных, обработки и обучения моделей, и интерфейсы отображения прогнозов;
- функциональное тестирование: проверяется выполнение программой её ключевых функций, таких как сбор данных, обучение модели и построение графиков прогнозов. Здесь тестируются возможности взаимодействия пользователя с системой и корректность формирования итоговых прогнозов;
- нефункциональное тестирование: анализируются характеристики ПО, не связанные напрямую с функциональностью, такие как производительность, надёжность и безопасность. Для систем прогнозирования важно, чтобы ПО стабильно функционировало даже при больших объёмах данных, а также обеспечивало защиту данных от несанкционированного доступа [18].
Верификация программы для прогнозирования электропотребления требует комплексного подхода, включающего тестирование точности прогноза на различных временных отрезках и с разными условиями. Важно оценивать работу программы при прогнозировании для обычных и праздничных дней, когда структура потребления электроэнергии может значительно различаться. Также проверяется корректность обработки входных данных, их предобработки и последующего использования для обучения моделей [17].
Таким образом, точная верификация программных решений позволяет гарантировать их соответствие требованиям участников ОРЭМ, обеспечивая надёжные и точные прогнозы электропотребления, необходимые для эффективного функционирования энергосистемы.
Этапы разработки. Для разработки программного обеспечения, предназначенного для краткосрочного прогнозирования электропотребления на ресурсоснабжающем предприятии, требуется обеспечить его соответствие функциональным и техническим требованиям, установленным для подобных систем. Основной задачей является создание программы, которая на основе ретроспективных данных об электропотреблении сможет эффективно прогнозировать потребление электроэнергии на заданную дату с учётом дня недели и праздничных дней.
Процесс разработки включает в себя следующие основные этапы:
1. сбор и предобработка данных: программа должна корректно загружать данные об электропотреблении из файлов Excel, выделять необходимые временные признаки (год, месяц, день, час, день недели) и учитывать праздничные дни согласно производственному календарю РФ. Важной задачей является подготовка данных для прогнозирования, включая расчёт средних значений потребления за предыдущие периоды и выявление выбросов в данных при помощи метода IQR (межквартильного интервала);
2. обучение модели прогнозирования: для построения прогноза система использует модель машинного обучения XGBoost. Эта модель должна быть обучена на основе ретроспективных данных об электропотреблении и должна учитывать временные параметры, такие как день недели, праздники, фактор последних известных 72 значений электропотребления и фактор возможной нештатной работы оборудования на предприятии. Необходимо обеспечить возможность гибкой настройки модели через подбор гиперпараметров для достижения наилучших результатов прогнозирования;
3. построение прогноза и визуализация: программа должна формировать прогноз потребления электроэнергии на 24 часа на заданную дату. Результаты прогнозов должны быть отображены в графическом виде с указанием прогнозных значений, а также доверительных интервалов, что позволит пользователю визуально оценить возможные отклонения. Графики должны быть интуитивно понятными и точно отражать прогнозируемые значения;
4. сохранение результатов: программа должна сохранять прогнозные значения в формате Excel для дальнейшего анализа и возможного использования в других системах. Это необходимо для документирования результатов и интеграции с внешними системами управления энергоснабжением.
Задачей верификации программного обеспечения является проверка его работоспособности в реальных условиях, включая тестирование на разных наборах данных. Важно, чтобы программа демонстрировала высокую точность прогноза и стабильность работы при различных сценариях использования, таких как прогнозирование в выходные и праздничные дни.
Описание разрабатываемой системы. Разрабатываемая система для краткосрочного прогнозирования электропотребления представляет собой программное обеспечение, которое использует ретроспективные данные об электропотреблении для построения прогнозов. Основным источником данных является автоматизированная ин-
формационно-измерительная система контроля и учёта электроэнергии (АИИС КУЭ). Программа также учитывает особенности производственного календаря Российской Федерации, такие как выходные и праздничные дни, которые влияют на потребление электроэнергии.
Архитектура системы. Программное обеспечение построено на основе языка Python и использует такие библиотеки, как Pandas для обработки данных, XGBoost для машинного обучения, Matplotlib для визуализации прогнозов, и tkinter для создания пользовательского интерфейса. Система обладает интуитивно понятным интерфейсом, который позволяет пользователю загружать данные, устанавливать дату прогноза, задавать параметры (день недели, является ли дата праздничной), и выводить результаты прогноза в графическом и табличном виде.
Основные компоненты системы
1. Интерфейс пользователя: пользовательский интерфейс реализован с использованием библиотеки tkinter. Он предоставляет пользователю следующие возможности:
- загрузка данных из файла Excel с ретроспективными данными об электропотреблении;
- выбор даты прогнозирования и указание характеристик дня (будний/выходной/праздничный);
- отображение результатов прогнозирования в графическом виде и вывод прогнозных значений.
2. Модуль предобработки данных: отвечает за извлечение данных из загруженного файла и их подготовку для обучения модели. Программа извлекает временные параметры (год, месяц, день, час, день недели) из колонки с временными метками, а также учитывает, является ли день праздничным на основе предварительно заданного списка праздничных дней в Российской Федерации, также производиться поиск и удаление выбросов (методом межквар-тильного интервала), обнаружение и заполнение пробелов в данных. Помимо этого, вычисляются и добавляются новые признаки, такие как фактор предыдущих 72 часов и признак возникновения нештатных ситуаций в работе оборудования на предприятии.
3. Модель машинного обучения: программа использует алгоритм XGBoost для прогнозирования электропотребления. Эта модель была выбрана за её высокую эффективность в задачах работы с временными рядами и хорошую способность обрабатывать большие объёмы данных. Обучение модели происходит на исторических данных, с учётом таких параметров, как день недели, наличие праздничных дней, а также среднее потребление за предыдущие 72 часа и фактор возможной нештатной работы оборудования на предприятии. Для настройки модели программа применяет метод подбора гиперпараметров (GridSearchCV), что позволяет найти оптимальные параметры для XGBoost, такие как глубина деревьев, скорость обучения и количество деревьев в ансамбле.
4. Прогнозирование: программа генерирует прогнозы потребления на 24 часа на основе обученной модели. Для каждого часа рассчитывается прогнозное значение электропотребления, а также доверительные границы (95%-ый доверительный интервал), что позволяет учесть возможные отклонения от прогноза.
5. Визуализация: программа строит график, отображающий прогнозное потребление за выбранные сутки. График включает прогнозные значения и доверительные интервалы. Интерфейс предоставляет возможность взаимодействия с графиком, позволяя пользователю более детально анализировать данные.
6. Сохранение данных: все прогнозные значения сохраняются в файл формата Excel для дальнейшего анализа или интеграции с другими системами. Сохранение данных включает прогнозное потребление, верхнюю и нижнюю границы доверительного интервала для каждого часа прогнозируемого дня.
На рис. 1 представлена схема системы краткосрочного прогнозирования электропотребления предприятием.
ДОБАВЛЕНИЕ РЕТРОСПЕКТИВНЫХ -ДАННЫХ
ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС
УСТАНОВКА ПРИЗНАКОВ ДЛЯ ПРОГНОЗА
СОХРАНЕНИЕ ПРОГНОЗНЫХ ЗНАЧЕНИЙ В ФАЙЛ ВЫВОД ГРАФИКА ПРОГНОЗНЫХ ЗНАЧЕНИЙ
ОПЕРАТОР
ДАННЫЕ ИЗ ВНЕШНИХ ИСТОЧНИКОВ
БАЗА ВХОДНЫХ ДАННЫХ
ПРАВОВОЙ СЕРВЕР КОНСУЛЬТАНТПЛЮС
АВТОМАТИЗИРОВАННАЯ ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНАЯ СИСТЕМА КОНТРОЛЯ И УЧЁТА ЭЛЕКТРОЭНЕРГИИ
ПЕРЕДАЧА СПРОГНОЗИРОВАННЫХ ДАННЫХ
___с
КОМПЛЕКС ОБРАБОТКИ И ПРОГНОЗИРОВАНИЯ ДАННЫХ
ПРЕДОБРАБОТКА ИСХОДНЫХ ДАННЫХ
МОДУЛЬ ПОИСКА И УДАЛЕНИЯ ВЫБРОСОВ В ДАННЫХ
МОДУЛЬ ПОИСКА И ЗАПОЛНЕНИЯ ПРОБЕЛОВ В ДАННЫХ
ВЫЧИСЛЕНИЕ И ДОБАВЛЕНИЕ НОВЫХ ЗНАЧИМЫХ ПРИЗНАКОВ
БАЗА
СТРУКТУРИРОВАННЫХ ДАННЫХ ДЛЯ ОБУЧЕНИЯ МОДЕЛИ
ПРОГНОЗНАЯ МОДЕЛЬ
ЗАГРУЗКА ВЕКТОРА ЗНАЧИМЫХ ПРИЗНАКОВ ДЛЯ ПОСТРОЕНИЯ ДЕРЕВЬЕВ. ВЫЧИСЛЕНИЕ ФУНКЦИИ ПОТЕРЬ
ПОСТРОЕНИЕ CLASSIFICATION AND REGRESSION TREE (CART)
УВЕЛИЧЕНИЕ ВЕСОВ ИТОГОВЫХ ПРИЗНАКОВ ДЕРЕВЬЯ, ПОКА УМЕНЬШАЕТСЯ ОШИБКА
СУММИРОВАНИЕ ИТОГОВЫХ ПРИЗНАКОВ. ФОРМИРОВАНИЕ ВЕКТОРА ПРОГНОЗНЫХ ПРИЗНАКОВ
Рис. 1. Схема системы прогнозирования 263
Взаимодействие с пользователем
1. Оператор загружает файл с историческими данными об электропотреблении.
2. Оператор вводит дату прогноза (например, 2024-10-25), выбирает день недели, при необходимости, указывает, что это праздничный день.
3. Программа обрабатывает данные, обучает модель на ретроспективных данных, и строит прогноз потребления на указанный день.
4. В результате оператор получает график с прогнозом и доверительными интервалами, а также сохраненный файл с результатами в формате Excel.
Проводимые эксперименты для верификации программного обеспечения. Верификация включала как модульное, так и интеграционное тестирование всех компонентов системы, которые представлены в табл. 1.
Таблица 1
Состав программного обеспечения системы прогнозирования_
№ п/п Наименование файла Тип файла Выполняемые функции
1 Prediction.exe Исполняемый файл Запуск интерфейса пользователя, настройка параметров для прогнозирования и вызов функций обработки данных.
2 data loader.py Файл сценария на языке программирования Python Загрузка данных из файлов Excel, предобработка данных, создание временных признаков.
3 model forecast.py Обучение модели XGBoost, настройка гиперпараметров, генерация прогнозных значений для указанного периода.
4 visualization.py Построение графиков прогнозного потребления и отображение доверительных интервалов.
5 config.py Файл конфигурации Хранение постоянных параметров, таких как список праздничных дней и параметры гиперпараметров.
6 interface.py Файл сценария на языке программирования Python, содержащий tkinter Реализация графического интерфейса, взаимодействие с пользователем, выбор даты и характеристик прогноза.
7 requirements.txt Текстовый файл Список зависимостей для установки необходимых библиотек (Pandas, XGBoost, tkinter и т.д.).
8 future_predictions.xlsx Файл Excel Выходной файл для хранения прогнозных значений электропотребления и доверительных интервалов.
Для верификации программного обеспечения были проведены испытания, направленные на оценку точности прогнозирования, стабильности работы программы и соответствия функциональным требованиям.
В табл. 1 представлены основные компоненты программного обеспечения и их функции, обеспечивающие выполнение задач по сбору данных, прогнозированию и визуализации результатов.
Методика испытаний представлена в табл. 2 и включает следующие этапы:
1. подготовка тестовых данных:
- были отобраны ретроспективные данные об электропотреблении, содержащие различные временные интервалы (будни, выходные и праздничные дни).
- для тестирования использовались данные, соответствующие типичным и пиковым периодам потребления, чтобы оценить поведение программы в различных сценариях.
2. тестирование работы алгоритмов прогнозирования:
- выполнено тестирование процесса предобработки данных: проверена корректность выделения временных признаков, включая учёт праздничных дней и расчёт средних значений за предыдущие 72 часа.
- алгоритмы прогнозирования тестировались на корректность формирования прогнозного графика потребления. Прогнозы были выполнены на основании исторических данных и проверены на воспроизводимость.
3. проверка точности модели:
- оценка точности прогнозирования проводилась на основе расчёта средней абсолютной ошибки (MAE) и средней абсолютной процентной ошибки (MAPE). Критерии оценки включали среднюю ошибку, не превышающую 5%.
- были проведены сравнительные эксперименты на различных наборах гиперпараметров, чтобы определить оптимальные значения для модели XGBoost.
4. функциональное тестирование:
- проверены ключевые функции системы: загрузка данных, выбор даты прогноза, построение графика прогнозов и сохранение результатов в файл.
- проведена проверка взаимодействия с интерфейсом, включая корректное отображение графиков и возможность выбора параметров прогноза (выходной или праздничный день).
5. нефункциональное тестирование:
- выполнено тестирование производительности при обработке больших объёмов данных и высокочастотных запросах к системе. Программа продемонстрировала стабильность работы и корректное выполнение всех задач в установленные временные рамки.
- проведено тестирование на обработку ошибок: проверена корректная работа программы при отсутствии данных или ошибках в загружаемых файлах.
Эксперименты проводились с различными сценариями использования, чтобы подтвердить надёжность и точность работы модели в условиях реальных данных. Результаты данных экспериментов представлены в табл. 2.
Тестирование компонентов системы для оценки их соответствия предъявляемым требования прошло успешно. Все компоненты системы прогнозирования достигли ожидаемого результата.
Фрагмент результатов тестирования, демонстрирующий, что разработанное программное обеспечение соответствует критериям точности, устойчивости и функциональности, заявленным для системы прогнозирования представлен в табл. 3.
Таблица 2
Процедуры проверки и методика испытаний программного обеспечения_
№ п/п Процедура проверки Методика испытаний Критерий оценки/ожидаемый результат
1.1 Проверка корректности загрузки и предобработки данных 1. Загрузка данных из тестового файла Excel. 2. Проверка корректности выделения временных признаков (год, месяц, день, час, день недели). 3. Проверка учёта праздничных дней. 4. Проверка расчёта и добавления значимых признаков. Данные должны быть загружены без ошибок, временные признаки и праздничные дни корректно определены, факторы последних 72 часов и возможности возникновения нештатных ситуаций должны быть добавлены в обучающую выборку.
1.2 Проверка корректности работы алгоритмов обучения и прогнозирования 1. Подготовка тестового набора данных и выполнение прогноза на заданный день. 2. Сравнение прогнозных значений на тестовом наборе данных (неиспользуемых в обучении модели) и с реальными данными. 3. Оценка точности прогноза с использованием MAE и MAPE. Средняя ошибка прогноза (MAPE) не должна превышать 5%. Прогноз должен быть точен и воспроизводим при повторных расчётах.
1.3 Проверка построения графика и доверительных интервалов 1. Построение графика прогнозного потребления на основе тестовых данных. 2. Проверка отображения доверительных интервалов. 3. Визуальная проверка корректности отображения осей, подписей и единиц измерения. Графики должны корректно отображать прогноз и доверительные интервалы, соблюдая точность и стандарты визуализации.
1.4 Проверка функциональности интерфейса пользователя 1. Запуск программы и выполнение всех возможных действий интерфейса (загрузка данных, выбор даты, запуск прогнозирования). 2. Проверка работы кнопок и выпадающих списков, отображения сообщений об ошибках. Все элементы интерфейса должны работать без сбоев. Ошибки в действиях пользователя должны корректно обрабатываться.
1.5 Проверка сохранения прогнозных данных в файл Excel 1. Выполнение прогнозирования и сохранение результатов в файл future_predictions.xlsx. 2. Проверка структуры и корректности данных в выходном файле (даты, прогнозные значения, доверительные границы). Прогнозные значения и доверительные интервалы должны корректно сохраняться в файл Excel в нужном формате.
1.6 Нефункциональное тестирование: производительность 1. Загрузка большого объёма данных и выполнение прогнозирования. 2. Оценка времени выполнения операций и стабильности работы программы. Время выполнения прогноза должно быть приемлемым (не более 5 минут). Программа должна работать стабильно.
1.7 Проверка обработки ошибок 1. Загрузка файла с некорректной структурой данных и проверка реакции программы. 2. Ввод неверных параметров для прогноза и проверка сообщения об ошибке. Программа должна корректно обрабатывать ошибки и предоставлять пользователю сообщения с описанием проблемы.
Таблица 3
Фрагмент результатов тестирования программного обеспечения_
№ п/п Входные данные Критерий оценки Фактический результат
1.1 Набор данных об электропотреблении за 3 и более года Модель должна обучаться в пределах установленного времени (не более 5 минут). Время обучения модели составило 1 минуту 19 секунд, что соответствует критериям. См. рис. 2.
1.2 Прогнозные значения на заданный день, отметки времени в сутках, значения границ доверительного интервала Программа должна корректно отображать графики прогнозных значений, доверительного интервала и момента времени. При отображении графика должны соблюдаться: использование правильной цветовой палитры, легенд, надписей и т.п. Программа отобразила в пользовательском интерфейсе график прогнозных значений, доверительный интервал. Легенда и все надписи верны и читаемы. См. рис. 3.
1.3 Сохранение прогнозных значений в Excel Результаты прогнозирования должны корректно сохраняться в файл :Ти1;иге_ргеё1с1;юп$.х1$х. Программа отразила информационное сообщение о сохранении файла прогнозных значений. Прогнозные значения успешно сохранены в формате Excel, файл содержит все необходимые данные: даты, значения и интервалы. См. рис. 3
На рис. 2 представлен фрагмент полученных результатов выполнения программы по обучению модели краткосрочного прогнозирования электропотребления, а именно:
- параметры модели: отображены оптимальные параметры модели XGBoost для прогноза на будущий и выходной день, включая learning_rate, max_depth, и n_estimators;
- предупреждения (FutureWarning): присутствуют уведомления о будущих изменениях в библиотеке pandas и возможных проблемах с типами данных, указывающие на необходимость обновления кода для обеспечения его совместимости с новыми версиями библиотеки;
- диапазон данных: программа создала временной ряд данных с интервалом в час на определённую дату (начиная с 31 октября 2024 года) для прогнозирования потребления электроэнергии;
- сохранение результатов: прогнозные значения сохранены в файл future_predictions.xlsx, что подтверждается сообщением в консоли;
- время выполнения программы составило 1 минуту 19 секунд, что также указано в выводе.
На рисунке 3 представлен пользовательский интерфейс разработанного ПО для краткосрочного прогнозирования электропотребления.
Пользовательский интерфейс включает в себя возможность выбора даты прогноза, дня недели и статуса праздничного дня. Также имеется кнопка «Сделать прогноз» для выполнения расчета потребления электроэнергии.
На графике отображены прогнозные значения потребления электроэнергии на выбранный период, а также доверительный интервал, обозначенный синим цветом. Точками на графике показаны значения прогноза по часам, что помогает оценить изменение потребления в течение дня.
ПО сохраняет прогнозные данные в файл Ги1ше_рге&с1юш.х^х. В Ехсе1-файле содержатся столбцы с датой и временем, прогнозным значением потребления, а также верхней и нижней границей доверительного интервала. Также предусмотрено отображение сообщения об успешном сохранении результатов прогноза в Ехсе1-файле, что подтверждает корректное завершение процесса прогнозирования.
Наилучшие параметры для буднего дня: {'leanning_rate": 9.1, "max_depth': 3, 'n_estimators': 109} Наилучшие параметры для выходного дня: {'learning_rate': 0.1, 'max_depth': 3, '^estimators1 : 200} Прогнозные значения сохранены в файл futurepredictions.xlsx
<ipython-input-3-07ecSd416c7d>:78: FutureWanning: 'H" is deprecated and will be removed in a future version, please us«
'Дата/Время': pd.date_range(start='2924-10-31'periods=24, freq='H"), <ipython-input-3-Q7ec8d416c7d>:83: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise ai 14070.461 14150.752 14442.698 14428.546 14428.546 14428.546 14362.713 14362.713 14342.269 14342.269 14310.535 14369.293 14645.273 14377.972
13721.951 13393.839 13006.394]' has dtype incompatible with int64, please explicitly cast to a compatible dtype first future_predictions_df.loc[future_data[ "День недели'] < 5, "Прогнозное потребление'] = future_predictions_weekday
У 1 минЛ4сек. выполнено в 15:51
Рис. 2. Фрагмент консольного вывода результатов выполнения программы по обучению модели краткосрочного прогнозирования электропотребления
013
д в cot
1 Дл^Врми . (1р оонииогпогвгОянис 1 Игр««. ,MM.4d . »»«.»..{мтщ 13668,94141 14347,441? 1 10450.4375
3 3024-03-54 01 «Я 12184,9550« 14405,45898 9W8,451172
202442-2*02:00:00
19 2024-02-2417д0:00
» 2024-02-341830:00
21 зом-ог-эимяяо
22 ИМ-02-21ПЖОО
$ Информация
14400,70117
игамшя
1 SOW. J1875
14711, 14WJ 145W.MJ1S
»ля» итп»
13616,26074 13JM.85M5
16Я1Я.14406
1ИЩЧ
1НК.Ш5?
12492.63672 12381.1341 12381,1541
итаия
1191Э.1ЛМ
im4.«j4
Прогнозное потребление
jf> # /£> tP j$> J&^'.'P J? J? tP jf & jf jP & iP # if i
О -Vb V Т.Ь T.v ■f т.ь -vk T,k V & n.fc T, -f т.* 4.*- iv "
n л: n i: •>. i: i: n: n i: n: i: n. n: ч: a *i: 1 i: t: n, i: т
f BV & 0v QV S& & & Й1 & SV" Я1" »г $ о1, О1" & & & & $ S& З1 &
ф ^ $ # $ if & -¡Р" 4? -fi -р1 ^ г0^ Т?г <Рг -Р1,
ЩЩЩ ...... tmm
1
Рис. 5. Результат работы программного обеспечения краткосрочного прогнозирования электропотребления
Заключение. В результате проведённого исследования разработано программное обеспечение системы краткосрочного прогнозирования электропотребления для городского ресурсоснабжающего предприятия. Система использует ретроспективные данные об электропотреблении, полученные из автоматизированной информационно-измерительной системы контроля и учёта электроэнергии, и учитывает такие параметры, как выбранная дата прогноза, день недели и праздничные дни по производственному календарю РФ, параметр последних известных данных за 72 часа и возникновения нештатных ситуаций в работе оборудования на предприятии. Основным компонентом системы является модель машинного обучения на основе ансамбля деревьев решений, позволяющая производить краткосрочные прогнозы потребляемой электроэнергии с учётом специфики рабочих, выходных, праздничных дней и других значимых признаков. Результаты прогнозирования визуализируются в виде графиков с указанием доверительных интервалов, что повышает удобство восприятия и анализа данных пользователем.
Отметим, что процесс верификации программного обеспечения включал тестирование основных компонентов системы, таких как загрузка данных, корректность работы алгоритмов обучения и работы модели прогнозирования, отображение графиков и сохранение результатов в формате Excel. Эксперименты подтвердили высокую точность и стабильность работы модели, что соответствует установленным критериям.
Предлагаемое ПО имеет потенциал для практического применения на предприятиях энергетической отрасли, так как позволяет повысить точность планирования и сократить расходы на закупки электроэнергии на оптовом рынке.
Список литературы
1. Блохин А.В. Влияние временных и климатических факторов на потребление электроэнергии / А.В. Блохин, А.С. Грицай, А.Ю. Горшенин, А.Ф. Пелипенко // Информационные технологии в науке и производстве : Материалы IX Всероссийской молодежной научно-технической конференции. Омск: Омский государственный технический университет, 2022. С. 42-50.
2. Блохин А.В. Прогнозирование потребления электроэнергии городского ресурсоснабжающего пред-пприятия / А.В. Блохин, А.С. Грицай // Фёдоровские чтения 2023: Материалы Всероссийской научно-практической конференции с международным участием (с элементами научной школы для молодежи). Москва: Национальный исследовательский университет "МЭИ", 2023. С. 144-149.
3. Блохин А.В. Анализ факторов, влияющих на потребление электроэнергии городского ресурсоснабжа-ющего предприятия / А.В. Блохин, А.С. Грицай, В.И. Потапов, О.П. Шафеева // Математические структуры и моделирование. 2023. № 3(67). С. 23-35. DOI 10.24147/2222-8772.2023.3.23-35.
4. Серебряков Н.А. Применение адаптивного ансамблевого нейросетевого метода для краткосрочного прогнозирования электропотребления электротехнического комплекса районных электрических сетей // Омский научный вестник. 2021. № 1 (175). С. 39-45.
5. Блохин А.В. Исследование факторов, влияющих на потребление электроэнергии коммерческим предприятием / А.В. Блохин, А.С. Грицай, А.Ю. Горшенин // Математические структуры и моделирование. 2022. № 3 (63). С. 39-47. DOI: 10.24147/2222-8772.2022.3.39-47.
6. Горшенин А.Ю. Предварительная обработка данных в задаче краткосрочного прогнозирования электропотребления / А.Ю. Горшенин, А.С. Грицай, Л.А. Денисова // Фёдоровские чтения 2023 : материалы Всерос. науч.-практ. конф. с междунар. участием (с элементами науч. шк. для молодежи) / Нац. исслед. ун-т «МЭИ». Москва: Изд-во МЭИ, 2023. С. 96-104.
7. Король А.В. Сравнение адаптивных методов краткосрочного прогнозирования выработки электрической энергии солнечными электростанциями / А.В. Король, А.С. Грицай, А.В. Гаак // Актуальные вопросы энергетики : материалы VII Всерос. науч.-практ. конф. с междунар. участием. Омск : Изд-во ОмГТУ, 2024. С. 190-195.
8. Грицай А.С. Особенности построения биллинговой системы для энергосбытовой компании с целью обеспечения максимальной точности прогнозирования // Динамика систем, механизмов и машин: тез. докл. Между-нар. научн.-техн. конф. Омск: ОмГТУ, 2009. С. 250-254.
9. Горшенин А.Ю., Применение машинного обучения деревьев решений для краткосрочного прогнозирования электропотребления / А.Ю. Горшенин, А.С. Грицай, Л.А. Денисова // Известия Тульского государственного университета. Технические науки. 2023. № 11. С. 226-231. DOI 10.24412/2071-6168-2023-11-226-227.
10. Хомутов С.О. Методика формирования обучающей выборки в задачах краткосрочного прогнозирования электропотребления гарантирующего поставщика / О.С. Хомутов, Р.Н. Хамитов, А.С. Грицай, Н.А. Серебряков // Известия Тульского государственного университета. Технические науки. 2021. № 2. С. 227-233.
11. Дугин Д.Д. О механизмах функционирования оптового рынка электроэнергии / Д.Д. Дугин, В.А. Са-мусь, Д.К. Габбасов [и др.] // Актуальные вопросы энергетики: материалы Международной научно-практической конференции. Омск: Омский государственный технический университет, 2017. С. 239-243.
12. Бахтеева Н.З. Конкурентный оптовый рынок электроэнергии и мощности: состояние и новые вызовы / Н.З. Бахтева, Л.А. Галимзянов, З.В. Шацких // Известия высших учебных заведений. Проблемы энергетики. 2016. № 5-6. С. 70-78.
13. Федоров Я.П. Повышение точности прогнозирования электропотребления субъектов ОРЭМ с использованием нечётких нейронных сетей / Я.П. Федоров, В.Л. Бурковский, А.Л. Руцков // Энергетические системы. 2019. № 1.С. 176-182.
14. Горшенин А.Ю. Сравнение методов на основе деревьев решений в задаче краткосрочного прогнозирования электропотребления // Математические структуры и моделирование. 2023. № 4(68). С. 12-21. DOI 10.24147/2222-8772.2023.4.12-21.
15. Мигранов М.М. Прогнозирование потребления электроэнергии. Практика применения / М.М. Мигра-нов, А.А. Устинов, А.В. Мельников // Электроэнергия. Передача и распределение. 2018. № 2(47). С. 44-53.
16. Моргоева А.Д. Прогнозирование потребления электрической энергии промышленным предприятием с помощью методов машинного обучения / А.Д. Моргоева, И.Д. Моргоев, Р.В, Клюев, О.А. Гаврина // Известия Томского политехнического университета. Инжиниринг георесурсов. 2022. Т. 333, № 7. С. 115-125. DOI 10.18799/24131830/2022/7/3527.
17. Горшенин А.Ю. Разработка и верификация программного обеспечения системы краткосрочного прогнозирования электропотребления // Известия Тульского государственного университета. Технические науки. 2024. № 7. С. 253-259. DOI 10.24412/2071-6168-2024-7-253-254.
18. Серобабов А.С. Разработка и верификация программного обеспечения системы принятия врачебных решений / А.С. Серобабов, А.Л. Серобабова, Л.А. Денисова // Россия молодая: передовые технологии - в промышленность. 2023. № 1. С. 79-84. DOI 10.25206/2310-4597-2023-1-79-84.
Блохин Александр Владимирович, аспирант, sasha [email protected], Россия, Омск, Омский государственный технический университет
DEVELOPMENT AND VERIFICATION OF A SYSTEM FOR SHORT-TERM FORECASTING OF POWER CONSUMPTION
OF A RESOURCE SUPPLYING ENTERPRISE
A.V. Blokhin
The article considers the development and verification of a short-term forecasting system for electricity consumption for a resource supplying enterprise. The system uses retrospective data on electricity consumption by the enterprise and allows forecasting consumption based on a user-specified date, day of the week, and holiday status. The article also considers the methods and results of software verification, confirming the correctness and stability of the system.
Key words: power consumption, short-term forecast, machine learning, software verification, data analysis, software testing.
Blokhin Alexandr Vladimirovich, postgraduate, sasha_bloh@mail. ru, Russia, Omsk, Omsk State Technical
University