УДК 004.8
И.Е. Волкова, П.А. Шагалова, Д.А. Ляхманов
РАЗРАБОТКА СИСТЕМЫ МНОГОШАГОВОГО ПРОГНОЗИРОВАНИЯ НА ОСНОВЕ МНОГОСЛОЙНОЙ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ
Нижегородский государственный технический университет им. Р.Е. Алексеева
Проведено исследование проектирования нейросетевых систем для решения актуальной задачи многошагового прогнозирования. При проектировании систем учитывались проблемы и особенности разработки архитектур нейронных сетей и подготовки исходных данных. Представлены результаты сравнения систем прогнозирования на несколько шагов вперед на основе различных архитектур нейронных сетей.
Ключевые слова: искусственная нейронная сеть, многослойный персептрон, многошаговое прогнозирование.
В любой сфере деятельности, так или иначе, существует необходимость прогнозирования связанных с ней процессов. При этом каждый из этих процессов имеет свою природу, зависит от различных факторов, имеет свои особенности и закономерности. К одним из наиболее перспективных методов анализа данных процесса и оценки динамики его развития относят нейросетевые методы [1]. Интерес к использованию именно систем искусственного интеллекта связан с их гибкостью, обучаемостью, способностью к абстрагированию и выявлению сложных взаимосвязей между событиями.
Построение нейросетевой системы состоит из трех основных этапов: подготовки входных данных, разработки архитектуры сети, обучения. Подготовка входных данных является отправной точкой при разработке системы и включает в себя: анализ исходных данных, определение формата обучающих примеров и объема обучающей выборки [2]. Разработка архитектуры подразумевает выбор топологии сети, определение количества нейронов каждого слоя и используемых функций активации. Процесс обучения заключается в подстройке весовых коэффициентов сети [2] для решения конкретной задачи, алгоритм подстройки весов зависит от выбранной топологии.
Нейросетевое прогнозирование, в соответствии с планируемым горизонтом прогнозирования, можно разделить на два вида: одношаговое прогнозирование и многошаговое. Од-ношаговый - это прогноз, выполняемый за одну итерацию (один шаг) на один интервал времени вперед. Многошаговый - прогноз на несколько шагов вперед.
При разработке архитектуры системы для получения одношагового прогноза последний слой сети содержит единственный нейрон, с выхода которого получают спрогнозированное значение. На нейроны первого слоя подаются значения временного ряда. Количество нейронов скрытых слоев может варьироваться в зависимости от размерности задачи. Для подготовки обучающей выборки берется так называемое «окно» - n значений временного ряда , n-1 значений - это входы сети, n-е значение - это выход сети, каждый пример обучающей выборки получается путем сдвига этого окна на одно значение (на одну единицу времени) вперед (рис. 1).
Наиболее распространенным способом построения многошагового прогноза является использование описанной системы одношагового прогнозирования с одним нейроном в выходном слое. Многошаговый прогноз при этом представляется как множество одношаговых,
© Волкова И.Е., Шагалова П.А., Ляхманов Д.А., 2014.
причем каждый полученный на очередной итерации прогноз используется в качестве истинного при получении следующего значения. Так как любой прогноз содержит ошибку, то при использовании спрогнозированного значения в качестве истинного на последующих этапах, эта ошибка добавляется к собственной ошибке следующих значений.
Таким образом, происходит очень быстрое накопление ошибки, и уже на 3-6-м шагах (зависит от стабильности исследуемого процесса) прогноз будет иметь значительное отличие от эталона.
окно
Рис. 1. Формирование обучающей выборки для многослойной сети с одним выходным нейроном
Также для выполнения многошагового прогнозирования возможно построение системы таким образом, что выходной слой содержит не один, а несколько нейронов (количество нейронов равно количеству шагов), на выходе каждого из которых получается спрогнозированное значение. Для подготовки каждого примера обучающей выборки в этом случае используется п+т значений временного ряда (где т - количество прогнозируемых значений), п-1 значений - это входы сети, значения п, п+1,п+2,...п+т - это выходы сети (рис. 2). При использовании модели сети с несколькими нейронами в выходном слое также существует проблема: в отличие от предыдущей модели, где спрогнозированное значение используется в качестве истинного при получении следующего значения, в текущей модели при прогнозировании предыдущие спрогнозированные значения вообще не учитываются.
окно
Рис .2. Формирование обучающей выборки для многослойной сети с несколькими выходными нейронами
В данном исследовании были проведены разработка и сравнение систем прогнозирования с использованием модели с одним нейроном в выходном слое, модели с несколькими
нейронами в выходном слое, а также еще двух моделей, адаптированных к построению многошагового прогноза с учетом описанных проблем.
Смысл адаптации заключался во введении дополнительных связей между нейронами выходного слояво вторую из описанных архитектур. Эти связи позволят реализовать использование спрогнозированных значений приполучении прогноза, а также, в отличие от первой архитектуры, спрогнозированные значения будут учитываться еще на этапе обучения системы, что позволит сети подстроить свои параметры наилучшим образом.
Было предложено два варианта введения дополнительных связей внутри выходного слоя. Первый вариант заключается в связывании выходов каждого нейрона последнего слоя свходами всех последующих нейроновэтого слоя. Это позволит учитывать все спрогнозированные значения во время обучения системы. Однако добавление внутренних связей увеличит время обучения.
Второй вариант предполагает добавление связей между каждыми двумя соседними нейронами выходного слоя, что позволит учитывать при прогнозировании только предыдущее спрогнозированное значение временного ряда. Использование этого варианта сократит количество внутренних связей и время обучения системы.
В рамках работы было проведено множество экспериментов, в каждом из которых при соблюдении одинаковых условий были использованы все четыре описанных модели многослойного персептрона. В качестве входных данных были взяты метеорологические данные (температура воздуха).
Далее представлены результаты одного из экспериментов (рис. 3). Прогноз осуществлялся на 5 шагов вперед, тестовое множество - 150 примеров.
Рис. 3. График зависимости ошибки прогнозирования от шага прогнозирования
Анализируя результаты можно отметить, что наилучшие данные были получены для сети со связями между всеми нейронами выходного слоя, а самую низкую точность прогноза дало использование архитектуры сети с несколькими нейронами в выходном слое, но без связей между ними. Начиная со второго шага, наблюдается рост ошибки сети с одним выходным нейроном, ошибка прогнозирования адаптированных моделей выросла, но гораздо менее значительно. Следовательно, предложенная в процессе исследования адаптация архи-
тектуры нейронной сети действительно позволила снизить накопление ошибки с ростом шага прогнозирования.
Библиографический список
1. Соколова, Э.С. Разработка и апробация эмулятора нейросетевого моделирования для целей прогнозирования временных рядов. / Д.В. Дмитриев, Д.А. Ляхманов, Э.С. Соколова // Современные проблемы науки и образования. 2012. №6.
2. Ясницкий, Л.Н. Введение в искусственный интеллект : учеб. пособие для студ. высш. учеб. заведений / Л.Н. Ясницкий. - 2-е изд. - М.: Издательский дом «Академия», 2008. -176 с.
Дата поступления в редакцию 11.12.2014
I.E. Volkova, P.A. Shagalova, D.F. Lyakhmanov
DEVELOPMENT OF THE MULTI-STEP-AHEAD FORECASTING SYSTEM BASED ON THE MULTILAYER ARTIFICIAL NEURAL NETWORK
Nizhny Novgorod state technical university n.a. R.E. Alexeev
We researched the neural network system design for solving of the actual problem of multi-step-ahead forecasting. The problem of architecture design and handling of input data were taken into account during development of the system. The results of comparison of prediction systems based on the different neural network architectures were presented in the study.
Key words: artificial neural network, multilayer perceptron, multi-step-ahead forecasting.