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

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Кравец О. Я., Крючкова И. Н.

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

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

Список использованных истчников

1. Белкин П.Ю., Михальский О.О. и др. Программно-аппаратные средства обеспечения информационной безопасности. Защита программ и данных: Учебное пособие для вузов. - М.: Радио и связь, 1999. - 168 с.

2. Касперски К. Фундаментальные основы хакерства. Искусство дизассемблирования. - М.: СОЛОН-Пресс, 2004. - 448 с.

Кравец О.Я., Крючкова И.Н.

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

Воронежский государственный технический университет Международный институт компьютерных технологий, г.Воронеж

При решении задачи прогнозирования временных рядов возникает проблема корректного определения обучающего, тестирующего и контрольного множеств. При формировании указанных выборок предполагается, что значения независимых переменных и зависящей от них исследуемой величины определены в одной и той же временной точке. Однако известно множество примеров [1, 2, 3], когда влияние одного события на другое проявляется по прошествии некоторого времени, величину которого называют временным лагом А. В случае наличия неизвестного временного лага задача нейро-сетевого моделирования временных рядов существенно усложняется, так как появляется неопределенность выбора обучающих примеров. Исследованию чувствительности нейросетевой модели к сдвигам временных рядов, описывающих поведение факторов, влияющих на прогнозируемую величину, посвящена данная работа.

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

В [4, 5] показано, что учет значений не только прогнозируемой величины, но и факторов, значимо влияющих на нее, позволяет повысить точность прогнозирования. В этом случае каждый обучающий пример содержит историю значений по факторам, значимо влияющим на значение прогнозируемой величины и историю значений самой прогнозируемой величины, а также требуемый выход нейросети [6]. Ширина временного «окна», то есть количество предыдущих значений, на основе которых формируется прогноз, может быть определено с помощью анализа графиков автокорреляционных функций входных факторов.

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

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

Пусть х(г\), х(г2), х(гп) - значения независимой переменной, у(г\), у(г2),

у(гп) - временной ряд, описывающий прогнозируемую величину. Предположим, что существует аналитическое выражение зависимости 7(х), причем

7 (г) = / (х(? -А), (1)

где А - временной лаг.

Для примера выбрана следующая функция

7 (г) = 101оё х 2( г*), (2)

где г* = г-3.

Рис. 1 иллюстрирует взаимное расположение графиков Х(г) и У(г), рис.

2 - выбор ширины временного окна для Х по графику автокорреляционной функции [4].

+ хт —уса

Рис. 1. Временные ряды значений независимой (X) и зависимой (7) переменных

—Коэффициент автокорреляции Хф Рис. 2. График автокорреляционной функции переменной X.

Предположим, что вид функции 7 (г) неизвестен, соответственно, неизвестно о существовании временного лага для переменной X, равного трем. Исходя из наблюдений, с помощью нейросети была проведена аппроксимация У(Х) по значениям в точках наблюдений 1=1,2...40. Так как и сама функция, и независимая переменная представлены временными рядами, необходимо использовать «историю» изменений, то есть формировать обучающий пример на основе наблюдений в нескольких временных точках. Исходя из

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

Нейросетевое моделирование проводилось с помощью пакета STATISTICA Neural Networks 4.0. Была построена нейронная сеть типа многослойный персептрон с одним скрытым слоем, логистической функцией активации структуры 4-4-1. Обучение проводилось методом обратного распространения ошибки.

В ходе анализа чувствительности нейросети была выдвинута гипотеза, что при наличии временного лага наибольшая ошибка предсказания будет наблюдаться при удалении того входа, который соответствует значению X в точке t-Д, которая в дальнейшем подтвердилась. Действительно, исходя из результатов анализа, проведенного средствами STATISTICA Neural Networks, представленных в табл. 1, наиболее значимым является вход, соответствующий X(t-3). При сдвиге ряда Х «назад» относительно Y на три временные точки, наиболее значимым становится X(t), а точность прогнозирования увеличивается практически вдвое (структура сети и условия обучения оставались неизменными).

Таблица 1

Результаты анализа чувствительности нейросети для одной независимой

переменной

Переменная Ранг Чувствительность\абс. ошибка

До сдвига X(t) 4 0.1591

X(t-1) 3 0.1757

X(t-2) 2 0.4127

X(t-3) 1 0.8653

Y 0.2373

После сдвига X(t) 1 1.2168

X(t-1) 2 0.1075

X(t-2) 3 0.1067

X(t-3) 4 0.0668

Y -0.1267

Для того, чтобы убедиться, что найденное значение временного лага является оптимальным, глубина погружения была увеличена на 1. Анализ чувствительности показал, что дополнительный вход X(t-4) не является наиболее значимым.

Далее была рассмотрена функция двух переменных, имеющая вид Y(t)=10log(x12(t -3) + 3x2(t)), график которой, как и зависимости X1(t) и X2(t)

представлены на рис. 3.

Иллюстрация анализа чувствительности нейросети структуры 8-17-1 средствами STATISTICA Neural Networks представлена на рис. 4. Сеть имеет 5 входов VAR1 - VAR5, на которые поступают значения X1 (что соответствует ширине временного окна, равной четырем), и 3 входа VAR6 - VAR8 для отражения истории изменения переменной Х2 (ширина временного окна равна двум).

Рис. 3. Взаимное расположение временных рядов для двух независимых и одной зависимой переменных

ш

Update

Baseline errors |0.2003 Prune inputs with low sensitivity ratio Ihreshold Ц] £rune I

|0.2G72

AÍ EfalllM

VAR1

VAR2

VAR3

VAR 4

VAR 5

VAR 6

VAR7

VAR 8

-!ank

trror

G.4928191

0.5006148

0.3039649

0.3046153

0.210811

0.3115212

0.2166693

0.5729198

-iatio

2.460931

2.999217

1.517873

1.52112

1.052701

1.555606

1.0S1955

2.86092

-lank

rror

0.6016254

0.775639

0.2185918

0.2548782

0.1562346

0.1011914

0.1851039

0.6132393

^atio

2.251298

2.9G2462

0.8179763

0.953761

0.5846339

0.3786609

0.6926638

2.294758

Рис. 4. Иллюстрация анализа чувствительности двух независимых переменных средствами STATISTICA Neural Networks

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

В ходе следующего вычислительного эксперимента были рассмотрены

8 независимых переменных (Xj(t),... X8(t)) и зависящая от них функция

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

Y (t) = 10 +

(Xi(t) + ^-ln(X4))• X3(t3 -1)

- 0,44X7(t7 - 2) + X8, (3)

X6 + 2,5X5(*5 - 3) где = ¿-1, = ¿-3, ¿7 = ¿-2.

Взаимное расположение исходных данных иллюстрирует рис. 5.

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

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

Таблица 2

Результаты анализа чувствительности нейросети для двух независимых _____________________________переменных______________________________

Переменная Ранг Чувствительность\абс. ошибка

До сдвига Х,(г-4) 3 0.4928

Х,(г-3) 1 0.6006

Х,(і-2) 6 0.3040

Х,(і-1) 5 0.3046

Х() 8 0.2108

Х2(і-2) 4 0.3115

Х2(г-1) 7 0,2167

Х2(І) 2 0,5729

У -0.4045

После сдвига Х,(і-4) 5 0.1573

Х,(і-3) 6 0.0999

Х,(і-2) 4 0.2060

Х,(і-1) 3 0.2922

Х() 2 0.2926

Х2(і-2) 7 0.0415

Х2(І-1) 8 0.4150

Х2(І) 1 0.6050

У -0.1864

+ Х1 Х2 -*-ХЗ —Х4 —Х5 — Х6 Х7 -^Х8 ----------------------У

Рис. 5. Взаимное расположение восьми рядов значений независимых переменных ХО,... Х8({) и зависящей от них переменной У

1 этап. Определение максимальной глубины погружения по графикам автокорреляционных функций независимых переменных и установление пре-

предельной ширины временного окна. Отмечено, что данная ширина, не должна превышать половину длины временного ряда.

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

3 этап. Определение временного лага для каждого ряда с помощью анализа чувствительности.

Для представленных на рис. 5 исходных данных были построены графики автокорреляционных функций (рис. 6).

Рис. 6 - Графики автокорреляционных функций независимых переменных X],... Х8

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

Результаты анализа чувствительности набора нейросетей приведены на рис. 7. В рядах, изначально не обладавших временным лагом, наибольшая чувствительность отмечена для входов Xi(t). Для рядов X3(t), X5(t), X7(t) наиболее чувствительными оказались входы Xi(t-Д) (Д3=1, Д5=3, Д7=2).

С учетом найденных временных лагов были сформирован смещенный массив исходных данных, использованный для обучения, тестирования и верификации нейросети. Нейросеть имела структуру 8-5-1, обучалась методом обратного распространения. Результаты обучения и прогнозирования на несмещенных и смещенных массивах представлены в таблице 3. Качество обучения оценивалось параметром S.D. Ratio - отношением стандартного отклонения ошибки к стандартному отклонению данных. Качество прогнозирования оценивалось показателем процентной погрешности MAPE [7], определяемым в виде

МАРЕ

У - У У

•100%,

(4)

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

а) «)

Й 0.5 ё 0.4-1

А

5 0.3 -Ё 0.2

&

о.1 Н

о

В 0.3

и

О

к

Й 0.2

й 0.1 н

&

Ег4

х;# х?(Г-і; х;^ х;хі¿м; в)

х2$-2) хгр-З) х2$-4)

г)

А Н 0 4-1

г_' О К А 0.3 -

й Ё 0.2 -

А Н и 0.1 -

& Ег4 0 -

0.

і °-4-п 0.2 -

0

&

ЕҐ

Х3$) ХЗ&-1) ХЗ$-2) Х3$-3) ХЗ(ї-4)

Х4$) Х4$-1) Х4$-2) Х4$-3) Х4$-4)

е)

0 К

1 37 н Ё

й 3.6 |3,

н 0.6

і°»

» 0.2 -I

Й 0.5 І 0.4

А

г о.з н ^ 0.2

&

Ет4

0.1 -

Х5ф Х5(М; Х5$-2) Х5$-3) Х5$-4)

ж)

Хб$) Х6&-І) Хб$-2) Хб$-3) Хб$-4)

О

£

ЕҐ

к 0.4 -|

А

5 о.з

£02 н I 01

і? о

Х7ф Х7§-1) Х7$-2) Х7$-3) Х7$-4) Х8$) Х8$-1) ХЗ&-2) ХЗр-З) Х8$-4)

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

Рис. 7. Чувствительность входов, отражающих историю изменения независимой переменной

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

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

Таблица 3

Качество обучения нейросети и прогноз У (8 независимых переменных)

Набор входных переменных S.D. Ratio (на обучающем множестве S.D. Ratio (на контрольном множестве MAPE, %

к00 0.240844 0.184005 2.78

X1(t), X2(t), X3(t-1), X4(t), X5(t-3), X6(t), X7(t-2), Xs(t) 0.09965 0.199094 1.37

Список использованных источников

1. Кравец О.Я. Гибридные алгоритмы оптимизации моделей множественной регрессии на основе кросскорреляции. - Информационные технологии моделирования и управления, №4(22), 2005.

2. Крючкова И.Н., Кравец О.Я. Исследование особенностей нейросетевого моделирования социально-экономических процессов на смещенных временных рядах. - Информационные технологии моделирования и управления, №4(22), 2005.

3. Давыдов А. Социальное неблагополучие: зависимость объективных и субъективных оценок, НСН. - http://www.nns.ru/analit/pol/table.html.

4. Родионов П.Е. Методика извлечения знаний в задачах анализа рядов динамики с использованием нейронных сетей. - Автореф. дисс. ... канд. техн. наук. - М., 2003.

5. Восьмирко С.О. Разработка математического и программного обеспечения среды моделирования нейронных сетей для решения задач прогнозирования. - Автореф. дисс. ... канд. техн. наук. - М., 2005.

6. Уоссерман Ф. Нейрокомпьютерная техника: теория и практика. - М.: Мир, 1992.

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

Шаповалова М.С., Кравец О.Я.

РАЗРАБОТКА ПОДСИСТЕМЫ УЧЕТА И УПРАВЛЕНИЯ ПРОДАЖАМИ В СИСТЕМЕ 1С-ПРЕДПРИЯТИЕ

Воронежский экономико-правовой институт Воронежский государственный технический университет

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

Оптовое торгово-закупочное предприятие осуществляет

1. закупку товаров;

2. реализацию товаров;

3. проведение расчетов с потребителями и поставщиками.

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

Закупка товаров торговым предприятием может осуществляться

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

- для пополнения запасов на складах.

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