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

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Антипов А. Е.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Антипов А. Е.

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

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

Применение метода ААУ к прогнозированию временных рядов

А.Е. Антипов

Аннотация. Рассматривается возможность применения метода автономного адаптивного управления (ААУ) для прогнозирования временных рядов данных. Предлагается эволюционный способ оптимизации параметров «датчиков»,

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

1. Общая идея применения метода ААУ к прогнозированию

Задача прогнозирования временного ряда заключается в следующем. Известен ряд ХьАк) ... х_2(1-2) х.1(1.1) хоАо) - временная последовательность эмпирических данных, представляющих наблюдения величины х в моменты времени Интервалы между моментами х„ х,+; равны. Требуется построить последовательность х;^, хг^д) ... х„А„), наилучшим образом приближающую последовательность х;^, х^^ ... хп(Хп) будущих значений ряда.

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

Структура метода автономного адаптивного управления (ААУ) [1] подходит к решению задачи прогнозирования. Теоретически, система ААУ может находить в потоке входных данных образы некоторых последовательностей, запоминать их, а во время прогноза -восстанавливать эти последовательности по их начальным частям. В этом состоит общая идея применения метода ААУ к прогнозированию.

2. Устройство и принцип действия модели

При построении прогнозирующей системы на базе метода ААУ общая схема системы управления [1] была изменена в соответствии с конкретной задачей. Перечислим основные компоненты системы и опишем их устройство и работу в рассматриваемом случае.

2.1. Блок датчиков и исходные данные

В качестве исходных данных выступает выборка {х„} - множество вещественных чисел, элементов временного ряда, соответствующих моментам времени i„, момент ti указывает начало наблюдений.

В системе существует буфер, в котором хранятся последние К элементов ряда. Блок датчиков в каждый момент времени tn воспринимает очередной элемент ряда хп и помещает его значение в буфер, сдвигая при этом уже имеющуюся там информацию. Другими словами, блок датчиков передвигает по выборке временное окно шириной К, в каждый момент наблюдая только его содержимое - последовательность ха x.i, х.г, х.(к-1) , где хо - последний известный на текущий момент элемент ряда, x.i -предпоследний и.т.д. В начале работы буфер пуст, и первые К тактов работы алгоритма уходят на его заполнение. Пока буфер не будет заполнен, никакие другие действия не предпринимаются.

Введем понятие верхней (хтах) и нижней (х„,„) границ окна:

Хтш = тах (х^ и': и х„,„ = min (xt) — w,

где w - выбираемая некоторым образом константа, а i = -(К-1)...0.

Смысл верхней и нижней границ следующий: это значения, между которыми с некоторым запасом (величина запаса определяется константой w) помещается все текущее содержимое окна. Эти величины в каждый момент времени могут иметь разные значения.

Блок датчиков выбирает из содержимого буфера значимые элементы

хю, хц, ... Xifk-i), ij € {0...К-1}, где k е {1...К} - число значимых элементов. Предполагается, что только они повлияют на прогноз, прочие элементы будут проигнорированы. Номера у выбираются из некоторых соображений перед началом работы и затем остаются неизменными. Одним из этих элементов в силу изложенных ниже соображений непременно должен ЯВЛЯТЬСЯ ХО - последний по времени (и последний в буфере) элемент ряда.

Затем для каждого из значимых элементов Хц строится разбиение

{То... Тт)} , /'л / x.itufi k(xmax - xmjfi)/dj , xmiiJ+ (k+1)(xmax - x^fj/dj /.

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

Наконец, значение каждого элемента x,j кодируется номером того интервала из разбиения, Tj, в который оно попало. В итоге блок датчиков формирует целочисленный вектор таких номеров {р0... p]...pt}, в котором закодированы с некоторой погрешностью все значимые элементы буфера. Этот вектор является результатом работы блока датчиков и передается далее блоку формирования образов.

Смысл такого вектора следующий. Все его компоненты кроме р0, соответствующего элементу ряда хо, представляют собой «предысторию» ро, т.е. в векторе содержится информация о том, что за последовательностью {р1...р]...ръ} в этот раз следовала последовательность {ро}. В дальнейшем мы будем называть такие последовательности

образами.

Поясним работу блока датчиков с помощью рисунка 1.

Рис. 1. Представление исходных данных, полученых с помощью «блока датчиков».

На рис. 1 Го, г,7, г,2, - моменты времени, соответствующие значимым элементам, пунктиром обозначено окно, заштрихованными прямоугольниками - интервалы из разбиений Т, в которые попадают значимые элементы. Все прямоугольники в совокупности образуют схематическое представление того, как блок датчиков «видит» поступающую к нему на вход информацию.

2.2. Блок формирования и распознавания образов

Блок формирования и распознавания образов в каждый момент времени получает на вход вектор {ро...р]...ръ}, сформированный блоком датчиков и представляющий собой закодированное представление пары образов «причина —» следствие» (или «хвост буфера —» голова буфера»). Так как природа исследуемого нами ряда, вообще говоря, неизвестна, либо недостоверна, и никаких априорных сведений о возможных встречающихся в нем образах мы не имеем, было принято решение в качестве образов использовать все возможные входные векторы. Таким образом, общее число элементов базы знаний будет равно произведению ¿о ¿1 ... ¿4 , где с1] - число интервалов в разбиении Т] . соответствующем элементу Хд.

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

применяется хэш-функция видардЛ^г... ¿4 + рА- ¡4+ + Рк. Легко убедиться, что эта

функция действительно однозначно переводит любой вектор {ро-..р]...рк} в целое число

- фактически, она преобразует это число в привычный вид из записи в позиционной системе счисления С «переменным основанием», которой И является вектор {ро-..р]...рк}-Номер распознанного образа является результатом действия блока ФРО и поступает на вход блока формирования базы знаний.

2.3. Блок формирования базы знаний

База знаний в нашем случае устроена просто - это целочисленный массив размером в максимальное количество образов, которые способен распознать блок ФРО. Получая на вход номер распознанного образа, блок формирования базы знаний увеличивает значение соответствующей номеру ячейки массива. Если это значение превышает некоторый порог М, то отвечающая номеру пара «причина —» следствие» признается устойчивой, и в дальнейшем считается, что такая причина статистически связана с таким следствием. У каждого следствия может быть несколько разных причин, и наоборот.

2.4. Блок оценки состояния объекта управления

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

2.5. Блок определения времени принятия решения

Этот блок вырожденный - задержка между восприятием образа и принятием решения всегда равна 0.

2.6. Блок принятия решений

Перед блоком принятия решений стоит следующая задача: зная образ, воспринимаемый системой в данный момент, на основании хранящейся в базе знаний информации определить, какой образ с наибольшей вероятностью последует за ним в следующий момент времени. Это делается следующим способом: за образ «причины» принимается вектор {р!...р]...рк}. Затем в базе знаний находятся все устойчивые пары, соответствующие такой причине, среди них выбирается пара с наибольшим весом (т.е. с наибольшим значением в соответствующей ячейке базы знаний), и образ соответствующего этой паре «следствия» р0 провозглашается искомым. Этот образ передается исполняющему органу.

Если блок принятия решений не может найти ни одной такой пары, он возвращает образ самого последнего известного элемента ряда (предполагая, что никаких изменений не предвидится).

2.7. Исполняющий орган

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

3. Оптимизация. Эксперименты и результаты

3.1. Цель, постановка и решение задачи оптимизации

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

Проводился прогноз двух типов. Прогноз 1-го типа - кратковременный, когда на основании достоверных данных предсказывалась ситуация только на один шаг вперед. Прогноз 2-го типа - долговременный: вначале на основании достоверных данных {хо...х-к} предсказывалось следующее значение х; , затем, на основании данных { х; , хо- х-(к-1)} -значение х^.и.т.д.

В ходе экспериментов выяснилось, что результаты прогноза очень сильно зависят от подбора количества интервалов с1ц и значимых элементов х,», хц, ... х,^. В зависимости от выбранных значений качество прогноза колебалось от отклонения в 1.2 % при прогнозе на несколько сотен дней (на относительно ровных участках) до полного вырождения прогноза в параллельную оси ? прямую после первых нескольких итераций. Стало ясно, что метод необходимо оптимизировать для каждой конкретной выборки.

Постановка задачи оптимизации выглядит следующим образом: для заданного количества значимых элементов к требуется подобрать их номера у и количество интервалов с1у так, чтобы минимизировать среднее отклонение прогноза от реальных значений АР(1о-1}...1к , (1о- ^...¿4 , {хп}), где {хп}, пе [0,Ы-1] - выборка исходных значений. Очевидно, данная функция является сеточной. Введены ограничения на максимальное количество интервалов с1тах и на максимальную ширину окна К. Эти ограничения вызваны требованиями реализации: количество памяти, нужной

алгоритму, не должно превышать разумных пределов.

Для решения задачи был выбран метод автоматной оптимизации [2], предложенный А.Н. Рапопортом. Выбор обусловлен тем, что данный метод не требует от функции явного вида, и потому удобен для минимизации сеточных функций.

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

Метод оптимизировался на последовательности значений курса доллара к рублю по данным ЦБ РФ за 1995 - 1998 годы. В качестве отклонения АР была выбрана функция Ек£[к,к-1-к] ((ЕпеЩ+к-1] |(Хп- Рп,к) / хп)/(К))/(И-1-К) - среднее относительное отклонение от реальности всевозможных прогнозов длины К на выборке. Число К в случае реального использования вытекает из требуемого горизонта прогноза, в нашем случае оно колебалось от 30 доЮО.

Вначале на оптимизируемые параметры были наложены следующие ограничения:

1) 2 < с1] < с1тах - число интервалов в разбиении не должно превышать заданного и не должно быть меньше двух. Первое нужно для избежания неограниченного роста базы знаний, а при разбиении из одного интервала данный узел не даст нам никакой полезной информации.

2) 0 < у < 1тах - значимые узлы не должны попадать в будущее (так как там еще ничего не известно) И не ДОЛЖНЫ уходить В прошлое более чем на 1тах периодов, чтобы избежать неограниченного увеличения буфера.

Оптимизация с такими параметрами привела к неожиданным результатам: все значимые узлы собрались в точке 0. Из этого следовал полностью вырожденный прогноз - прямая, параллельная оси X. Введение следующего ограничения : | у - г* | <

; & У (расстояние между значимыми узлами не должно быть меньше заданного) существенно не повлияло на качество прогноза. Узлы все равно распределялись так, чтобы прогноз оказывался вырожденным, т.е. чтобы встречающиеся во входном потоке образы как можно реже распознавались.

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

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

4. Эксперименты

Проведены эксперименты на реальных входных данных: значениях курса доллара к рублю за 1993 - 2002 г, значениях индекса 8&Р500, значениях процентной ставки ЦБ РФ. Приведем несколько примеров, иллюстрирующих работу модели на разных выборках.

Рис. 2. Прогноз (тонкая линия) курса доллара (жирная линия) на 300 периодов (дней) вперед. Отклонение от реальных значений - 0.04 (примерно 0.6%). Заметна периодичность (“горбы” на графике через равные промежутки времени), выявленная системой ААУ во входных данных.

Среднее отклонение: 34,946

Рис.З. Прогноз (тонкая линия) курса 8&Р500 (жирная линия) на 50 периодов (дней) вперед. Отклонение от реальных значений - 35 (примерно 3%). Качество прогноза хуже, чем в первом случае, так как входные данные более хаотичны. Система ААУ работает в условиях нехватки информации. Участки с двойной линией на графике прогноза - промежутки, на которых имеющихся в базе знаний сведений недостаточно для принятия решения.

Рис.З. Прогноз (тонкая линия) процентной ставки ЦБ РФ (толстая линия) на 300 периодов (дней) вперед. Отклонение от реальных значений

- 17 (примерно 14%). Система ААУ не может найти достаточного количества устойчивых образов во входном потоке, и поэтому на протяжении последних двух третей прогнозируемого промежутка не способна принять решение (двойная линия).

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

5. Выводы

К преимуществам прогнозирования с помощью метода ААУ можно отнести:

• Отсутствие необходимости описывать математическую модель исследуемого процесса.

• Возможность обрабатывать информацию поточно, без переучивания после появления каждого нового значения. Другими словами, в системе ААУ реализуется принцип самообучения в процессе управления.

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

• Достаточно высокое качество прогноза (при горизонте от 50 до 300 периодов на тестовых выборках достигнуто отклонение 0.6 - 3%).

Недостатками являются:

• Устойчивая работа только на больших (сотни, тысячи значений) выборках.

• Большой объем необходимых вычислений. По вычислительной сложности метод сравним с нейросетевыми алгоритмами.

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

5.1. Варианты развития.

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

рядов:

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

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

3) Усовершенствование блока датчиков.

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

b) Количество значимых узлов в данной работе подбиралось экспериментально. Необходимо более детально исследовать эту проблему.

c) Высота окна также подбиралась экспериментально, требуется теоретически обосновать ее выбор и научиться определять оптимальную высоту.

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

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

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

Список использованной литературы

1) Жданов А. А. Накопление и использование информации при управлении в условиях неопределенности. Сб. н. тр. ИФТП РАН "Информационная технология и численные методы анализа распределенных систем." М. 1992, 112-133.

2) Жданов А. А. Метод автономного адаптивного управления // Известия Академии Наук. Теория и системы управления, 1999, № 5, с. 127-134.

3) Рапопорт А.Н. Автоматные модели поисковой оптимизации и управления. Монография. Киров, 1999.

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