Метод прогнозирования временных рядов с использованием кусочно-линейной аппроксимации

УДК 004.9

Д.С. ШУМКОВ, И Г. СИДОРКИНА

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

Ключевые слова: прогнозирование временных рядов, кусочно-линейная аппроксимация, метод прогнозирования, система «Data Mining».

Прогнозирование является одним из основныгх вопросов, которыге возникают при анализе временных рядов. При этом ставится задача определить будущее поведение временного ряда по его известным прошлым значениям. На сегодняшний момент одним из подходов, в котором ведутся исследования в области прогнозирования временных рядов, является системы Data Mining, или «раскопка данных». Это связано с тем, что классические методыы основанные исключительно на линейных (ARIMA) и нелинейных (GARCH) моделях прогнозирования, не позволяют достичь необходимой точности прогноза. Используя методы, разработанные в рамках данной технологии, можно увеличить эффективность прогнозирования и выгявить скрытые закономерности в исследуемых временных рядах.

D.S. SHUMKOV, I.G. SIDORKINA METHOD OF TIME SERIES PREDICTION WITH USE OF PIECEWISE-LINEAR APPROXIMATION Key words: time series prediction, piecewise-linear approximation,forecast methods, Data Mining.

Forecasting is one of the basic problems of time series analysis. And there is a task of defining the future behavior at his last known values. Now one of the approaches, which is used for researching forecasting time series field, is Data Mining. This is due to the fact that classical methods based solely on linear (ARIMA) and nonlinear (GARCH) prediction models do not allow to achieve the required accuracy of the forecast. Using methods developed in the framework of this technology, you can increase the effectiveness of forecasting and identify hidden patterns in the surveyed time series.

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

Основными этапами в предложенном методе являются:

1) построение кусочно-линейной аппроксимации временного ряда;

2) выделение основных шаблонов;

3) построение таблицы переходов шаблонов из одного состояния в другое;

4) сравнение текущего состояния с основными паттернами для прогнозирования будущего поведения значений временного ряда.

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

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

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

- Sliding Window Algorith (SW), или алгоритм скользящего окна;

- The Top-Down Algorithm (TD), или алгоритм спуска сверху вниз;

- The Bottom-Up Algorithm (BU), или алгоритм снизу-вверх.

В работе [4] была предложена методика сравнения эффективности каждого алгоритма кусочно-линейной аппроксимации путем расчета максимальной ошибки max_error. В результате экспериментов было выявлено, что наиболее «слабым» методом является SW алгоритм. При этом эффективность алгоритмов BU и TD является почти одинаковой, хотя в ряде случаев использование BU является более предпочтительным.

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

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

- Adaptive piecewise constant approximation (APCA), или адаптивная кусочно-постоянная аппроксимация [5];

- Landmark method, или алгоритмы выделения базовых элементов (например, локальных экстремумов [2]) в числовой последовательности.

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

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

Основными пунктами предложенного алгоритма выделения паттернов являются следующие шаги:

1) строится таблица М размером n х k, которая накладывается на участок временного ряда, преобразованный методом кусочно-линейной аппроксимации;

2) далее в ячейку Mi,j ставится значение 1, если хотя бы одно значение временного ряда лежит внутри данной ячейки, и 0 - в обратном случае. На плоскости это можно представить следующим рисунком (рис. 3), где ячейки матрицы с «1» представляют собой закрашенные «прямоугольники».

Рис 3. Преобразованный временной ряд

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

Из-за того, что матрица содержит значения только «1» и «0» и является бинарной, сравнение паттернов друг с другом для определения «схожести» выполняется очень быстро. В качестве оценки, позволяющей определить, насколько один шаблон отличается от другого, введем величину pattem_error. Данная величина рассчитывается следующим образом. Пусть имеется 2 паттерна, которые описываются своими бинарными матрицами M1 и M1. Количество значений M1 у и Ы11,р в которых и <> M21j, и будет равняться pat-tem_error.

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

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

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

Р1 - Р4 4

Р1 - Рб 10

Р2 - Рз 1

Рз - Р1 6

Рг - Ру- т

где Рг... Р) это базовые паттерны, а цифры «4, 10, 1, 6, ... , т» - количество переходов из одного состояния в другое.

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

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

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

Рис 4. Исследуемый временной ряд

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

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

Литература

1. Дюк В. Data Mining: учебный курс (+ CD) / В. Дюк. СПб.: Питер, 2001. 386 с.

2. Keogh E.J. Locally Adaptive Dimensionality Reduction for Indexing Large Time Series Databases / E.J. Keogh, K. Chakrabarti, S. Mehrotra, M.J. Pazzani. Proc. 2001 ACM SIGMOD Conf. on Management of Data. P. 151-162.

3. Kim S. An Index-Based Approach for Similarity Search Supporting Time Warping in Large Sequence Databases / S. Kim, S. Park, W.W. Chu. Proc. 17th Int. Conf. on Data Engineering (ICDE). P. 607-614.

4. Last M. Data Mining in Time Series Databases. Series in Machine Perception and Artificial Intelligence (Vol. 57) /M. Last, A. Kandle, H. Bunke. World Scientific, 2004. 205 p.

5. Witten I.H. Data Mining: practical machine learning tools and techniques / I.H. Witten, E. Frank. 2nd ed. Elsevier, 2005. 558 p.

ШУМКОВ ДМИТРИЙ СЕРГЕЕВИЧ родился в 1984 г. Окончил Марийский государственный технический университет. Аспирант кафедры информационновычислительных систем Марийского университета. Область научных интересов - прогнозирование временных рядов, SVM, деревья решений. Автор 5 научных публикаций.

СиДОРКИНА ИРИНА ГЕННАДЬЕВНА родилась в 1959 г. Окончила Марийский политехнический институт. Доктор технических наук, профессор, декан факультета информатики и вычислительной техники Марийского государственного технического университета. Область научных интересов - информационные технологии; системы искусственного интеллекта. Автор более 80 научных публикаций.