Научная статья на тему 'Применение нейронных сетей для краткосрочного прогнозирования электропотребления'

Применение нейронных сетей для краткосрочного прогнозирования электропотребления Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
193
56
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Комиссарчик В. Ф., Зуев В. Н., Киселев А. Н.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Применение нейронных сетей для краткосрочного прогнозирования электропотребления»

дый предметный класс может содержать произвольное число уведомляющих свойств, на подмножестве которых могут быть организованы индексы. По умолчанию для каждого предметного класса свойство Ы является уведомляющим, а каждая коллекция имеет индекс по этому свойству.

Информация о составе уведомляющих свойств (TNotificationProperties) и индексах коллекций (ТЯс-Indices) хранится в дескрипторах классов - объектах ТС1а.^.^Ве.^спр^г, множество которых управляется глобальным объектом TClassDescriptorsManager. Как следует из диаграммы, для каждого класса X, унаследованного от TBaseObject, TRoleCollection или TRoleCollectionItem, существует собственный дескриптор, создаваемый автоматически при порождении первого экземпляра класса X, что обеспечивается реализацией TBaseObject, TRoleCollection и TRole-CollectionItem. Последующая инициализация дескриптора для класса X обеспечивается вызовом виртуальных функций классов TBaseObject, TRole-^Ш^юп или TRoleCollectionItem, переопределяемых в X.

Упомянутая ранее инициализация коллекций обеспечивается механизмом синхронизации, предусматривающим разработку для каждого предметного класса синхронизатора - потомка TSerializer. Назначение синхронизаторов - загрузка объектов коллекции из БД и их обратная запись, то есть синхронизация объектной и реляционной моделей (таким образом механизм синхронизации обеспечивает требуемую изоляцию объектной модели от реляционной). Информация о синхронизаторе для каждого предметного класса также хранится в соответствующем дескрипторе.

Как уже упоминалось, в каждом предметном классе имеется свойство И. В логику конструктора TBaseObject заложена автоматическая инициализация свойства И, реализуемая на основе механизма

поставщиков идентификаторов. Каждый поставщик - это объект класса, унаследованного от TIdProvider и переопределяющего виртуальный метод getId (обеспечивает возврат очередного идентификатора). Логично, что поставщик идентификаторов должен иметь их централизованный источник. Одним из решений является использование глобального счетчика целых чисел, размещаемого в БД. Для борьбы с издержками, связанными с частым обращением за новыми идентификаторами к этому счетчику, целесообразно применять упреждающее резервирование их некоторого диапазона в начале выполнения программ и далее повторять это по мере надобности. Информация о поставщике идентификаторов для каждого предметного класса хранится в соответствующем дескрипторе.

Описанная библиотека применялась при проектировании ПО в среде Borland Delphi/Kylix, осуществлявшегося на этапе опытно-конструкторской работы по созданию многофункциальной АСОУ, выполняемой НИИ «Центрпрограммсистем» (г. Тверь). Полученные результаты показали целесообразность ее применения на следующих этапах данной ОКР. Дальнейшее развитие библиотеки включает реализацию логического вывода и разработку языка для выполнения информационно-справочных запросов по данным объектной модели.

Литература

1. Грехэм И. Объектно-ориентированные методы. Принципы и практика. - М.: Изд-во «Вилльямс», 2004. - 880 с.

2. Пуха Ю. Объектные технологии построения распределенных информационных систем. // Системы управления базами данных. - 1997. - № 3. - С. 4-20.

3. Fowler M., Rice D. Patterns Of Enterprise Application Architecture. Addison Wesley, 2003. Р. 560.

4. Искусственный интеллект. В 3-х кн. - Кн. 2. Модели и методы: Справочник. / Под ред. Д.А. Поспелова. - М.: Радио и связь, 1990. - 304 с.

ПРИМЕНЕНИЕ НЕЙРОННЫХ СЕТЕЙ ДЛЯ КРАТКОСРОЧНОГО ПРОГНОЗИРОВАНИЯ ЭЛЕКТРОПОТРЕБЛЕНИЯ

В.Н. Зуев (НИИ «Центрпрограммсистем», г. Тверь, zvn_tver^@ma^l■ru); В.Ф. Комиссарчик, к.т.н.; А.Н. Киселев (Тверской государственный технический университет)

Ключевые слова: нейронные сети, система прогнозирования объема электроэнергии, временной ряд.

Плата за электроэнергию, потребленную промышленным предприятием, существенно зависит от отклонения фактических значений электропотребления от договорных (заявленных), поскольку, согласно правилам определения стоимости электрической энергии, предусмотрены штрафные санкции, обусловленные величиной этих отклонений. Таким образом, для принятия решений при планировании заявки на электроэнергию необходимо спрогнозировать режимы электропотребления. Информация по корректировке планового почасового потребления

электроэнергии при наличии действующей автоматизированной системы коммерческого учета электроэнергии предоставляется не позднее, чем за 3 рабочих дня (до 17.00) до даты, с которой предполагается изменение. Таким образом, возникает задача суточного прогнозирования электропотребления на трое суток вперед с максимально возможной точностью.

В данной работе рассматривается программная система прогнозирования объема электроэнергии, потребляемой стеклозаводом, с использованием ней-росетевого прогнозатора.

При прогнозировании наиболее часто применяются два подхода. При одном используются временные ряды электропотребления соответствующих подразделений за предыдущий период для выявления трендов и циклических составляющих. При другом подходе определяется регрессионная модель, связывающая величину электропотребления с внешними факторами. Было выяснено, что для данного объекта электропотребления такими факторами являются среднесуточная температура окружающей среды и время простоя стеклоформующих машин.

Используя нейронную сеть, эти два подхода можно объединить. В общем виде модель прогнозирования электропотребления записывается следующей функцией: Л1=Г(Л1.1,^Л1.П,Т1), где Л1 - спрогнозированное значение электропотребления; Л1.1 и Л1-п - значения электропотребления в предыдущие моменты времени; Т1 - совокупность внешних факторов, оказывающих влияние на электропотребление (предполагаемые значения).

Оценка качества прогнозирования осуществляется с помощью показателя абсолютной процентной

1 п |Л - Л I

погрешности: МАРЕ =—V—--—*100% , где А--

п 1=1 Л-

спрогнозированное значение; Л- - фактическое значение электропотребления; п - количество прогнозируемых значений [1].

Для прогнозирования использовались данные о суточном потреблении электроэнергии, полученной с помощью автоматизированной системы коммерческого учета электроэнергии, разработанной научно-производственным центром энергосбережения Тверского государственного технического университета.

Система прогнозирования состоит из блоков, реализованных на встроенном языке программирования системы МЛТЬЛБ: ввод исходных данных, предобработка данных, обучение нейронной сети, прогнозирование электропотребления, преобразование и вывод результатов прогноза.

Блок ввода исходных данных выполняет чтение данных, необходимых для прогнозирования. Данные хранятся в текстовых файлах (TrainData.txt или lnputData.txt) и могут быть отредактированы с помощью текстового редактора.

Файл TrainData.txt содержит данные, необходимые для обучения нейронной сети. Они должны быть упорядочены хронологически и расположены по следующим столбцам:

- объем электроэнергии, потребленной за одни сутки;

- среднесуточная температура воздуха;

- время простоя производственных линий, в часах.

Файл lnputData.txt содержит предполагаемые значения внешних факторов, используемых для получения прогноза. В качестве этих факторов используются спрогнозированные значения температуры воздуха и информация о плановых остановках производственных линий. Таким образом, файл содержит следующие элементы:

- предполагаемые значения среднесуточных температур воздуха;

- предполагаемые значения времени простоя производственных линий, в часах.

Каждая строка файла соответствует одним суткам, для которых должен быть получен прогноз. Для составления прогноза на первые сутки используются фактические данные из файла TrainData.txt. Для последующих дней - спрогнозированные значения, что негативно сказывается на точности прогноза.

Блок предобработки данных осуществляет их проверку на наличие пропусков и выполняет нормирование данных.

Нормирование входных данных является важным фактором, влияющим на точность прогнозирования электропотребления. Очевидно, что результаты нейросетевого моделирования не должны зависеть от размерности входных величин. Кроме того, большие значения электропотребления могут привести к проблемам при обучении нейронной сети. Нормирование фактических значений электропотребления осуществляется по формуле Ah=A/Amax.

По аналогичным формулам нормируются температура и время простоя.

Блок обучения нейронной сети, используя полученные данные, выполняет подготовку нейросетево-го прогнозатора, реализация которого осуществляется в среде MATLAB с помощью пакета расширений Neural Network Toolbox [2].

Согласно проведенным исследованиям, нейронная сеть для решения данной задачи представляет собой рекуррентную сеть Элмана [1].

Выяснилось, что использование при прогнозировании внешних факторов позволяет повысить точность прогноза. При этом, чем больше факторов учтено, тем выше точность прогноза.

Согласно результатам проведенных исследований, структура сети для прогнозирования электропотребления может выглядеть следующим образом. Число нейронов во входном слое равно сумме числа входных воздействий, то есть размера окна (количества предыдущих значений электропотребления, подаваемых на вход нейронной сети, - четыре значения) и количества внешних факторов, влияющих на электропотребление. При этом используются четыре значения электропотребления. Скрытый слой содержит 10 нейронов, а в выходном слое находится один нейрон.

Структура нейронной сети для прогнозирования изображена на рисунке 1.

Обучение сети осуществляется в пакетном режиме по методу обратного распространения ошибки. На вход нейронной сети одновременно предъявляются все входные векторы. Перед началом обучения весовые коэффициенты инициализируются случайным образом. После обучения сеть используется для прогнозирования и веса не изменяются.

Блок прогнозирования электропотребления использует обученную нейронную сеть для выполнения прогноза на трое суток вперед и далее в зависимости от содержимого файла Input Data.txt.

Блок преобразования результатов прогноза проводит обратное преобразование спрогнозированных значений в формат, пригодный для рассмотрения экспертом-энергетиком.

Блок вывода результатов прогноза записывает спрогнозированные значения в файл OutputData.txt.

Выполним проверку описанной системы прогнозирования. Для обучения сети используется временной ряд суточного электропотребления с 1 августа по 15 сентября 2007 г., для проверки точности прогноза модели - с 15 по 24 сентября 2007 г.

Обучение сети проводится с учителем, основная идея которого состоит в подборе кортежей <х^>, где х - входная матрица; d - соответствующий ей ожидаемый выходной вектор сети. Каждый столбец матрицы х - это предыдущие значения электропотребления со сдвигом на единицу сверху вниз.

Матрица x в случае использования трех предыдущих значений, внешних факторов для прогнозирования на одни сутки вперед имеет вид:

26129 26393 25551 25653 25511 21306 21652 21422 22872 26374

25686 26129 26393 25551 25653 25511 21306 21652 21422 22872

25923 25686 26129 26393 25551 25653 25511 21306 21652 21422

14 16 8 8 8 7 7 10 9 8

0 0 1 0 24 24 24 17 0 0

Вектор d, соответствующий данной матрице, выглядит следующим образом:

26393 25551 25653 25511 21306 21652 21422 22872 26374 26189

Используя описанные данные, можно получить результаты, отраженные в таблице:

Значения критерия MAPE Спрогнозированные значения электропотребления Фактические значения электропотребления Заявленные значения электропотребления

0.3842 26032 25977 24340

3.0659 25825 26699 25240

1.4775 25841 26274 25240

-0.007 25865 25865 25240

3.0389 25862 26701 25240

2.8708 25890 26632 25240

0.6808 25915 26058 24340

-0.754 25870 25694 24340

0.0180 25871 25935 25240

Графики спрогнозированных, фактических и заявленных значений электропотребления изображены на рисунке 2.

Средняя ошибка прогноза составляет 1,1 %, максимальная - 3 %. Такая точность может существенно сократить издержки, связанные с переплатой за электроэнергию.

На практике учет всех возникающих простоев при прогнозировании не представляется возможным. Однако использование информации о простоях при обучении нейронной сети позволит более точно учитывать влияние температуры, а также выявить циклические составляющие и тренд временного ряда.

Входной слой Скрытый слой

Рис. 1

Выходной слой

Использование краткосрочного прогнозирования позволяет оперативно реагировать на изменение режима работы производственных линий. Кроме того, полученная от метеорологических служб информация более достоверна, чем при долгосрочном прогнозировании.

Анализ применимости нейронных сетей для прогнозирования объемов потребления электроэнергии показал, что они подходят для решения таких задач для промышленных потребителей электроэнергии. Однако разработанная методика не претендует на замену труда эксперта-энергетика предприятия, но может использоваться как дополнение.

Литература

1. Оссовский С. Нейронные сети для обработки информации. - М.: Финансы и статистика, 2004. - 344 с.

2. Дьяконов В.П., Круглов В.В. МЛТЬЛБ 6.5 8Р1/7/7 8Р1/7 БР2 + 8тиНпк 5/6. Инструменты искусственного интеллекта и биоинформатики. - М.: САЛОН-ПРЕСС, 2006. - 456 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.