Scientific journal
Modern problems of science and education
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 1,006

NEURAL NETWORK TECHNOLOGIES FOR SOLVING OF FORECASTING PROBLEM

Shagalova P.A. 1 Lyakhmanov D.A. 1
1 Nizhny Novgorod State Technical University n.a. R.E. Alekseev
Current research was done about the using of neural network technologies for solving the problems of forecasting.The study covered the following aspects of development of neural-network system: handling of input data, architecture design, training. Design of multilayer neural-network system for multi-step-ahead forecasting was the main point of the study. We proposed the adaptation of multilayer perceptron architecture to make multi-step-ahead predictions, followed by appraisal and comparison with unadapted model. Time series differing from each other by nature and characteristics were used as the network input data for experiments. Based on the result it can be concluded that using of the proposed network model allows decreasing the accumulation of prediction error.
forecasting.
multilayer perceptron
artificial neural network
Разработка и внедрение интеллектуальных систем управления технологическими, экономическими, социальными процессами должны включать реализацию прогностических моделей, позволяющих значительно повысить качество управленческих решений. Своевременное получение прогноза, увеличение его точности повышают эффективность принятия решений, предотвращают катастрофические ситуации, снижают риски неблагоприятных последствий.

Цели исследования

В настоящее время одним из основных направлений исследований в области систем искусственного интеллекта являются нейросетевые технологии [1, 4, 5]. Интерес к изучению применения нейронных сетей в задачах прогнозирования обусловлен их способностью решать неподдающиеся строгой формализации задачи, выявлять внутренние, скрытые закономерности, проводить глубокий анализ данных.

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

Проектирование нейросетевой системы прогнозирования

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

neuron_4.tif

Рис. 1. Структура искусственного нейрона

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

Многослойный персептрон относится к классу сетей, обучение которых осуществляется методом обратного распространения ошибки [4]. Для обучения системы используется обучающая выборка, состоящая из обучающих примеров, формирование которых основывается на исходных данных и специфике решаемой задачи. Так, для экстраполяции временного ряда исходные данные преобразуются в обучающую выборку с использованием метода скользящих окон [2], [3], [5]. Согласно этому методу, каждый обучающий пример выборки формируется из n значений временного ряда, называемого «окном», при этом очередной обучающий пример получается путем сдвига окна на одну единицу времени.

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

Недостатком реализации  этого алгоритма является достаточно быстрое накопление ошибки.

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

— увеличить количество нейронов выходного слоя, которое определяется количеством шагов прогнозирования;

— ввести связи между нейронами выходного слоя.

Увеличение точности прогноза происходит за счет связывания выходных нейронов между собой так, чтобы полученное значение на первом выходном нейроне подавалось на вход второго выходного нейрона, а полученное на первом и втором – учитывалось на третьем и т.д. Другими словами, на каждый последующий нейрон выходного слоя, помимо сигналов с нейронов предпоследнего слоя, должны подаваться сигналы, уже полученные на предыдущих выходах сети. Примеры нейронных персептронов без связей и со связями выходных нейронов приведены на рис. 2 а), б).

3-х слойный персептрон_3.tif3-х слойный персептрон со связями между выходами_2.tif
                                   а)                                                                      б)

Рис. 2. Структура многослойного персептрона а) без связей; б) со связями

между нейронами выходного слоя

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

 ,                                                   (1)

где ,  – выходные значения нейронов q и p соответственно,  – функция активации,

 – весовой коэффициент связи между нейронами p и q.

На втором этапе итерации обучения происходит пересчет весовых коэффициентов нейронных связей по формуле (2). Пересчет производится, начиная с последнего слоя и заканчивая первым:

,                                         (2)

где  – новое значение весового коэффициента связи между нейронами p и q;   – старое значение весового коэффициента pq-связи; n – скорость обучения;  – дельта-коэффициент нейрона q;  – выходное значение нейрона p.

Дельта-коэффициент, участвующий в расчете весовых значений, для выходного слоя вычисляется по формуле (3), а для скрытых слоев по формуле (4):

,                                               (3)

,                                      (4)

где  – выходные значения нейронов q и p соответственно; – весовой коэффициент связи между нейронами p и q.

В рамках исследования было разработано приложение на языке С++, позволяющее моделировать многослойный персептрон со связями между нейронами выходного слоя. Приложение предоставляет пользователю возможность варьировать количество слоев сети и количество нейронов в каждом слое в зависимости от решаемой задачи. Была выбрана сигмоидальная функция активации, начальные значения весовых коэффициентов – случайные числа в диапазоне от 0,2 до 0,4. Расчет выходных значений нейронов и пересчет весовых коэффициентов был реализован с учетом наличия дополнительных связей внутри выходного слоя.

Для тестирования описанного выше решения было проведено экспериментальное моделирование, целью которого являлось определение эффективности введения дополнительных связей между нейронами выходного слоя для решения задачи многошагового прогнозирования. В каждом из экспериментов было проведено сравнение результатов прогнозирования с использованием обычного трехслойного персептрона и трехслойного персептрона со связями между выходными нейронами. Выбор именно трехслойного персептрона в качестве основы обусловлен тем, что персептрон является базовой архитектурой, реализацию которого достаточно легко впоследствии преобразовать к другим типам сетей, обучающимся на основе обратного распространения ошибки. Кроме того, из теорем Колмогорова – Арнольда – Хехт – Нильсона [5] следует, что трех слоев достаточно, чтобы решить практически любую задачу. В качестве исследуемых данных были взяты ряды разной природы и обладающие разными характеристиками: финансовые временные ряды и температурные временные ряды. Данные получены с сайтов компании Финам и Гидрометцентра России соответственно. Использование процессов, поведение которых значительно отличается, позволяет оценить эффективность исследований наиболее точно и разносторонне. Соблюдение одних и тех же условий проведения эксперимента для различных архитектур было выполнено для возможности равноценного сравнения качества получаемого прогноза. Ниже представлены описание условий одного из проведенных экспериментов и его результаты (табл. 1, рис. 3).

Приведем пример, когда в качестве временного ряда использовались метеорологические данные (температура воздуха). Объем обучающей выборки составил  8500 значений,  длина временного ряда одного обучающего примера  75 значений. Прогнозирование осуществлялось на  7 шагов вперед, экспериментальное множество составило 100 примеров.

Таблица 1

Архитектура сети

Среднее значение ошибки, °

1 шаг

2 шаг

3 шаг

4 шаг

5 шаг

6 шаг

7 шаг

трехслойный персептрон

1,72

2,29

2,97

3,24

3,42

3,57

3,69

трехслойный персептрон со связями между нейронами выходного слоя

1,73

2,06

2,48

2,58

2,62

2,69

2,72

 

Рис. 3. График зависимости ошибки прогнозирования от шага прогнозирования

В таблице 1 приведено полученное среднее значение ошибки. Результаты эксперимента показали, что на первом шаге обе рассматриваемые модели  дали примерно одинаковый результат прогноза. Это связано с тем, что алгоритм построения одношагового прогноза для разработанной конфигурации сети ничем не отличается от алгоритма работы обычного многослойного персептрона. Начиная со второго шага, наблюдается больший рост ошибки сети с одним выходным нейроном, по сравнению с ростом ошибки прогнозирования модели со связями внутри выходного слоя.

Выводы

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

Рецензенты:

Хранилов В.П., д.т.н., профессор, профессор кафедры «Компьютерные технологии в проектировании и производстве», ФГБОУ ВПО «Нижегородский государственный технический университет им. Р.Е. Алексеева», г. Нижний Новгород.

Крылов В.В., д.т.н., профессор, начальник лаборатории «Технологии больших данных», ФГБОУ ВПО «Нижегородский государственный технический университет им. Р.Е. Алексеева», г. Нижний Новгород.