УДК 519.246.8, 004.67, 004.67 Дата подачи статьи: 19.03.18
Б01: 10.15827/0236-235Х.031.4.751-756 2018. Т. 31. № 4. С. 751-756
Применение локалънъх трендов для предподготовки временнъх рядов в задачах прогнозирования
Е.В. Пучков 1, к.т.н., доцент, puchkoff@i-intellect.ru Г.И. Белявский 2, д.т.н., профессор, ЪеНаивку@:^таИсот
1 Донской государственный технический университет, г. Ростов-на-Дону, 344022, Россия
2 Южный федеральный университет, г. Ростов-на-Дону, 344058, Россия
В статье основное внимание уделяется изучению локальных трендов, характеризующих промежуточные движения в нестационарных временных рядах.
В первой части работы рассмотрены возможности методов выделения закономерностей в исторических тенденциях с помощью кусочно-линейной аппроксимации, кусочно-логарифмической аппроксимации и метода локальных главных компонент. Построение локальных трендов проводилось с помощью метода сегментации временного ряда «снизу вверх», который позволил выявить основные направления движения временного ряда. Определены критерии качества и алгоритм выделения локальных трендов с помощью перечисленных методов. Проведены эксперименты для каждого метода предобработки временного ряда. Предполагается, что последовательность исторических локальных трендов описывает долгосрочную взаимосвязь во временном ряду и может быть успешно использована для прогнозирования, например, на основе гибридных нейросетевых методов.
Во второй части работы рассмотрено классическое применение преобразования Хафа для аппроксимации случайных точек на плоскости отрезками прямых. Показан недостаток этого метода по сравнению с динамическим преобразованием Хафа, который учитывает динамику выборки и может быть использован в онлайн-обучении. Рассмотрен алгоритм прогноза с одновременным вычислением локального тренда с помощью динамического преобразования Хафа. Алгоритм легко распространяется на остальные способы аппроксимации данных, описанные в первой части работы.
Проведены вычислительные эксперименты на реальных данных с помощью предложенного метода и получены прогнозы. Эксперименты показали возможность предлагаемого метода определять тенденции во временном ряду. Для всех экспериментов использованы данные с электрокардиограммы со сложной периодичностью и цены закрытий акций Газпрома.
Ключевые слова: локальный тренд, аппроксимация, главные компоненты, преобразование Хафа, временной ряд, прогнозирование.
Прогнозирование временных рядов имеет большое значение во многих прикладных задачах, таких как формирование сигналов на фондовом рынке, управление энергопотреблением, мониторинг центров обработки данных и т.д. Предсказание значений временного ряда часто достаточно затруднительно по причине нестационарности данных. Одним из эффективных и действенных решений этой проблемы является локальная аппроксимация.
В работе рассмотрены кусочно-линейная аппроксимация как, пожалуй, наиболее часто используемый метод обработки данных [1-3], кусочно-логарифмическая аппроксимация, локальные главные компоненты [4, 5] и преобразование Хафа [6]. Для преобразования Хафа предлагается оригинальный алгоритм, учитывающий динамику. В первой модели время входит в качестве аргумента, поэтому параметры модели зависят от временного периода. В остальных моделях время присутствует неявно. Это дает дополнительные преимущества над первой моделью.
Используем следующие обозначения: X - временной ряд, xt - значение временного ряда, t -время. Предполагаем, что время дискретно. Под отрезком временного ряда X1, 5 < 1, будем понимать последовательность значений Х\ = {х*, ..., х^.
Сегментация временного ряда. Важным этапом в процессе построения локальных трендов является сегментация временного ряда. Несмотря на то, что существует большое количество методов сегментации, в общем случае их можно сгруппировать в три категории.
1. Скользящее окно: сегмент растет до тех пор, пока не превысит некоторую ошибку е. Процесс повторяется со следующей точки данных, не включенной в недавно полученный сегмент.
2. Сверху вниз: временной ряд рекурсивно разделяют на сегменты до тех пор, пока не будет выполнен некоторый критерий остановки.
3. Снизу вверх: сегменты объединяются, начиная с наилучшей аппроксимации, пока некоторый критерий остановки не будет соблюден.
Результаты работы методов сегментации для нестационарного временного ряда представлены на рисунке 1. При одном и том же уровне средне-квадратической ошибки, равной 0.5, методы работают по-разному. Методы сверху вниз и скользящее окно аппроксимируют временной ряд достаточно точно, в результате локальные тренды имеют небольшую продолжительность и фактически повторяют ряд. В отличие от них построение локальных трендов с помощью метода снизу вверх позволяет выявить основные направления движения времен-
Скользящее окно
Рис. 1. Графики работы методов сегментации для нестационарного временного ряда (пунктирные линии - локальные тренды)
Fig. 1. Schedules of segmentation methods for non-stationary time series (dotted lines are local trends)
ного ряда, что в процессе построения будущей модели прогнозирования дает большие преимущества. Более подробное описание методов, а также их производительности дано в [7].
Далее для демонстрации работы методов выделения локальных тенденций будем использовать сегментацию снизу вверх с фиксированным количеством сегментов (25). Такой критерий не является оптимальным для сегментации, но позволит сравнить методы выделения локальных тенденций и определить их особенности. В качестве исходных данных будем использовать два набора: данные с
электрокардиограммы со сложной периодичностью (A) и цены закрытий акций Газпрома (B) c таймфреймом в один день.
Кусочно-линейная аппроксимация отрезка
X's - это приблизительное представление отрезка кусочно-линейной функцией fx) = a,% + b, т е [x,-i, т), s = то < Ti < ... < Tk = t, ft) = akt + bk.
Рассмотрим отрезок F's = {fs), ...,ft)}. Качество представления определяется в результате сравнения отрезков X's и F . Один из наиболее по-среднее квадратическое от-
пулярных критериев клонение:
1 '
d ( ^ ' F ) = ttSTI S (7 (т))2 •
(1)
Другим критерием качества аппроксимации является число точек разбиения к + 1. Задача построения кусочно-линейной аппроксимации заключается в одновременной минимизации каждого из этих критериев (рис. 2). К сожалению, при построении аппроксимации можно использовать только доступную информацию, настоящее и прошлое, то есть нельзя заглядывать в будущее. С учетом по-
б)
Рис. 2. Кусочно-линейная аппроксимация: a) набор данных A, б) набор данных B (пунктирные линии -результат работы метода выделения линейных тенденций)
Fig. 2. Piecewise linear approximation: a) data set A, b) data set B (dashed lines are the result of the method of identifying linear trends)
1 = S
следнего в текущий момент времени необходимо определять, присоединять текущее значение временного ряда хг к совокупности или формировать новую совокупность. Для приемлемого решения задачи кусочно-линейной аппроксимации предлагается итерационный алгоритм, который подробно будет описан далее на примере кусочно-логарифмической модели. Кусочно-линейная аппроксимация как средство предобработки данных рассмотрена в ряде работ, например в [8, 9].
Кусочно-логарифмическая аппроксимация. Используем обозначения предыдущего раздела. Кусочно-логарифмическая аппроксимация отрезка
Х\ - это приблизительное представление отрезка
X
отрезком 75+1: у+1 = а,хт, т е [т,-1, т), 5 = Т0 <
< Т1 < ... < тк = t. В данной модели критерий, аналогичный критерию (1), имеет следующий вид:
d ( X\, Y/+
0=~ IL [~~~
' " s т=s+1 V xx-l Хт-1
(2)
Критерий (2) в отличие от критерия (1) позволяет получить статистику, инвариантную по отношению к масштабу, что позволяет избавиться от ряда проблем при обучении (рис. 3).
б)
Рис. 3. Кусочно-логарифмическая аппроксимация: а) набор данных A, б) набор данных B (пунктирные линии - результат работы метода выделения линейных тенденций)
Fig. 3. Piecewise logarithmic approximation: a) data set A, b) data set B (dashed lines are the result of the method of identifying linear trends)
Локальные главные компоненты. В этой модели рассмотрим отрезок ={(Дх*+1, х*), ..., (Лхь хм)} как множество случайных точек на плоскости. Как и раньше, разбиение * = т0 < т1 <
Тк
= t. Отрезок М\ - I^J Л/ ' ' , где
MY = {(A*
R
j+1' xj
) ' j-[Т
. Обозначим через
t выборочную ковариационную матрицу, соответствующую множеству M's'', ее собственные
числа 0 < < ^m"* • Критерий для данной модели будет иметь вид:
1 k - 1 min
d (X\, л! ) = - Y—^—-, (3)
k )max min i=0 i i
где Л! = |(xmln, ^ )f -. Критерий (3) инвариантен и к сдвигу, и к масштабу. Локальные главные компоненты (рис. 4) также рассматривались в ряде работ, например в [4, 5].
Алгоритм. Как уже отмечалось, качество локальной аппроксимации определяется критериями d и к. Данную задачу будем рассматривать в следующей постановке. Первый критерий ограничим: d < е, второй критерий постараемся сделать как можно меньшим.
Общий для всех методов алгоритм будет выглядеть следующим образом.
1. Формирование начальной выборки. Если выборка исчерпана, то переход к п. 5.
2. Добавление нового элемента. Если выборка исчерпана, то переход к п. 5.
3. Если новый элемент добавлен, то вычисление параметров модели и переход к п. 2.
4. Переход к п. 1.
5. Остановка.
Рассмотрим подробнее алгоритм на примере второй модели. Начальная выборка должна содержать два элемента, вычисляются показатели
2 =
Axj
2
, Mj = и значение теста T = 0. До-
бавление элемента. Пусть после п итераций сформирована выборка со значениями бП и Мп. Рассматривается возможность добавления к выборке элемента хп+1. Для этого вычисляются новые значе-
ния
показателей
s2+1 = —Ц- ( nSn +( xn+1 )2 ) '
n +1v >
Mn+1 =
n +1
nM„
Ax
n+1
значение теста
к вы-
Тп+1 = ^Б2п+1 -(Мп+1 )2 . Элемент добавляется
борке, если справедливо неравенство Тп+1 < е. Если неравенство не выполняется, определяются наклон а = Мп и длина локального отрезка I = п.
<
<
/=о
2
1
б)
Рис. 4. Графики работы метода главных компонент; а) набор данных A, б) набор данных B (пунктирные линии - результат работы метода выделения линейных тенденций)
Fig. 4. Schedules of the main component method; a) data set A, b) data set B (dashed lines are the result of the method of identifying linear trends)
Преобразование Хафа. Данный метод широко используется при анализе изображений [6]. Как и в модели локальной главной компоненты, рассмотрим множество точек на плоскости M's ={(Axj+i, xs), ..., (Axt, xt_i)}. Преобразование Хафа отображает каждую точку (u, v) е M's в синусоиду на параметрической плоскости (ф, р) с помощью равенства
р = U СОБф + V БШф. (4)
В параметрической плоскости строится сетка с узлами:
Cij = (ф,, р,) = (/'Аф, jAp), i = -l, -l + 1, ..., 0, ..., l; j = 0, 1, ... Причем 1Аф = 2 л. Вычисляется матрица H. Первоначально все элементы матрицы равны
нулю, затем каждый элемент (u, v) е M's изменяет
матрицу H следующим образом: Ht j : = Ht j +1;
i = -l, -l + 1, ..., 0, ..., l; ji = max{j: p, < u соБф,- + + v si^}. Определяется множество локальных максимумов LH = {(ik, jk)} матрицы H, по которому
определяются параметры отрезков прямых ,р^ Л , аппроксимирующих множество точек
ы\, к = 1, ..., т. Множество отрезков прямых разбивает множество на непересекающиеся подмно-
жества M t
= {(u, v).(p j - u COS ф j - u sin ф j ) ^
< (p; - u cosm; - u sin ф. ) , k Ф r}.
V Jr Jr Jr )
Если разбиение множества M's соответствует динамике, полученный набор прямых является кусочно-линейной аппроксимацией.
Динамическое преобразование Хафа. Классическое применение преобразования Хафа имеет один недостаток. Этот метод кластеризации работает со сформированной обучающей выборкой, что накладывает ограничения при его использовании в online-обучении. Рассмотрим метод, учитывающий динамику выборки в контексте приведенного выше алгоритма. Начальная выборка содержит два элемента: (mi, vi) и (и2, v2). С использованием (4) вычисляются (ф1, pi). Сначала вычисляется угол
U ^ Ui
фа = arctg -
v1 " v2
если I vi, v21 > е. Затем вычисляются pa = ui СОБфа + vi БШфа и Гфй, pa > 0, [я + фа, pa < 0. Если I vi - v2 I < е, то
I 1 J4 p = |pa|, 9 = i
lT
p= |v1,9 = i
-, v * 0, 2 1
vi < 0.
(5)
(б)
(7)
Пусть сформирована выборка из п элементов с (фп, рп) и решается вопрос о добавлении следующего элемента (ип+1, ^+1) (ип+1 = Дхп+1, Vn+l = Хп). Для этого вычисляются приращения:
ВА А
Aф = -
B2 +1
Ap =
B2 +1
(8)
где A = un+i соБфи + vn+i 8Шф» B = v„+i С08фи -- ил+^шф,,. Вычисляется тест
T ^(Дф)2 +(Др)2 . (9)
Если T < е, то (un+i, vn+i) добавляется к выборке и вычисляется
Ap Aф
p»+l = p« +-Г , фй+1 = ф« +-
п +1 п +1
иначе (un+i, v,+i) не добавляется к выборке и опре-
я
деляются l = n и угол наклона отрезка a = фп +
2
Прогнозирование с помощью локальной аппроксимации. Применение локальной аппроксимации возможно двумя способами. Первый способ заключается в том, что перед вычислением про-
гноза временного ряда вычисляются параметры локальной аппроксимации с использованием исторических данных.
Рассмотрим это на примере кусочно-логарифмической модели. Вычисляется точка (а, т) с использованием последовательности точек (ai, т). Параметр а определен ранее, а параметр т - длина локальной аппроксимации. По сути т - это число использований модели с параметром а перед пересчетом (а, т). Прогноз вычисляется по простой формуле: yt+1 = xt (1 + а). Вычислить точку (а, т) можно на нейронной сети сложной архитектуры, например CNN и LSTM, с эффективным алгоритмом обучения [10].
Второй способ - это прогноз с одновременным вычислением локального тренда. Рассмотрим соответствующий алгоритм с использованием динамического преобразования Хафа.
Пусть текущее значение дискретного времени t. Определим точность е и регуляризующий параметр а.
1. Полагаем n = t - 3. Если выборка исчерпана, то переход к п. 5. Вычисляется (ф, р) с использованием формул (5) и (6) или (7) и двух точек с координатами U2 = Xt - Xt-1, V2 = Xt-1, Ui = Xt-1 - Xt-2, Vi = Xt-2.
2. k = 2.
3. Добавление новой точки с координатами u = Xn+1 - Xn, v = Xn. Если выборка исчерпана, то переход к п. 4. С использованием формулы (8) вычисляются Аф, Ар и T:
Aф = -
BA B 2 +1
Ap =
A
B 2 +1
где A = И СОБф + V sinф, B = V С08ф - И 8Шф, T = ^/(Др)2 +(Дф)2 .
Если T > е, то переход к п. 4.
Вычисляются с применением (9): р = р + Др и
k
ф = ф + Дф, а также n: = n - 1 и к = к+ 1. k
Переход к п. 3.
4. Вычисляются прогноз
(р- xt sin ф)cos ф
y = x +-2- и новое значение для
cos ф + а
t = t + 1. Переход к п. 1.
5. Остановка.
Проведем два эксперимента с наборами данных A и B. Результаты прогноза на наборе A приведены на рисунке 5.
Второй эксперимент - это прогноз на наборе данных B. Результат показан на рисунке 6.
Заключение
В данной работе основное внимание уделяется изучению локальных тенденций во временных ря-
дах. Предполагается, что такая последовательность тенденций описывает долгосрочную взаимосвязь во временном ряду и, таким образом, естественно влияет на изменение следующего локального тренда. Применение методов выделения тенденций совместно с применением нейросетевых методов может значительно улучшить результаты прогнозирования.
В работе также рассмотрена неблагодарная задача прогноза. За основу взята идея кусочно -линейной аппроксимации и предложен алгоритм прогноза с использованием динамического преобразования Хафа. Отметим, что алгоритм легко распространяется на остальные способы кусочно-линейной аппроксимации данных. Данные экспериментов показали применимость предложенного метода для прогнозирования временного ряда. По крайней мере, тенденции воспроизводятся и в первом, и во втором экспериментах. Дальнейшего улучшения результатов следует ожидать при одновременном прогнозе тренда, его продолжительности и значений временного ряда.
Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 17-01-00888 а.
Литература
1. Hunter J., Mcintosh N. Knowledge-based event detection in complex time series data. Artificial Intelligence in Medicine. Springer. 1999, pp. 271-280.
2. Ge X., Smyth P. Segmental Semi-Markov models for endpoint detection in plasma etching. IEEE Transactions on Semiconductor Eng., 2001, vol. 259, pp. 201-209.
3. Wang Peng, Wang Haixun, and Wang Wei. Finding semantics in time series. Proc. 2011 ACM SIGMOD Intern. Conf. on Management of Data, 2011, pp. 385-396.
4. Belyavsky G., Puchkov E. Nonlinear principal component analysis approach to pattern recognition // Modeling of Artificial Intelligence, 2016, vol. 9, iss. 1, pp. 24-32.
5. Golyandina N., Nekrutkin V., and Zhigljavsky A. Analysis of time series structure: SSA and related techniques. Chapman & Hall/CRC, 2001, 320 p.
6. Canny J.F. A computational approach to edge detection. IEEE Trans. Pattern Analysis and Machine Intelligence, 1986, no. 8, pp. 679-698.
7. Keogh E., Chu S., Hart D., Pazzani M. Segmenting time series: A survey and novel approach, in: Data mining in time series databases, World Scientific, Singapore, 2004, pp. 1-21.
8. Keogh E, Chakrabarti K., Pazzani M. & Mehrotra S. Dimensionality reduction for fast similarity search in large time series databases. Knowledge and Information Systems, 2000, no. 3, pp. 263-286.
9. Matsubara Ya., Sakurai Ya., and Faloutsos Ch. AutoPlait: Automatic mining of coevolving time sequences. Proc. 2014 ACM SIGMOD Intern. Conf. on Management of Data, 2014, pp. 193-204. DOI: 10.1145/2588555.2588556.
10. Lin Tao, Guo Tian, Aberer K. Hybrid neural networks for learning the trend in time series. Proc. 26th Intern. Joint Conf. on Artificial Intelligence, 2017, pp. 2273-2279.
Software & Systems Received 19.03.18
DOI: 10.15827/0236-235X.031.4.751-756 2018, vol. 31, no. 4, pp. 751-756
Local trends for time series pre-preparation in forecasting problems
E. V. Puchkov 1, Ph.D. (Engineering), Associate Professor, puchkoff@i-intellect.ru G.I. Belyavsky 2, Dr.Sc. (Engineering), Professor, beliavsky@hotmail.com
1 Don State Technical University, Rostov-on-Don, 344022, Russian Federation
2 South Federal University, Rostov-on-Don, 344058, Russian Federation
Abstract. The paper focuses on the studying local trends that describe intermediate movements in non-stationary time series.
The first part of the article considers the possibilities of methods of identifying patterns in historical trends using piecewise linear approximation, piecewise logarithmic approximation and the method of local principal components. Local trends have been created using the segmentation method of the bottom-up time series, which allowed identifying the main directions of time series movement. The paper determines the quality criteria and the algorithm for identifying local trends using the proposed methods. There have been some experiments for each time series preprocessing method. It is assumed that the sequence of historical local trends describes the long-term relationship in a time series and might be successfully used for forecasting, for example, based on hybrid neural network methods.
The second part of the paper considers the classical application of the Hough transformation for random points approximation on a plane by line segments. There is a disadvantage of this method comparing with the dynamic Hough transformation that takes into account the sample dynamics and can be used in online learning. The authors consider the forecasting algorithm with simultaneous calculation of a local trend using the dynamic Hough transformation. The algorithm is easily extended to other methods of data approximation, which have been considered in the first part of the paper.
Computational experiments included real data and used the proposed method. They provided forecasts. The experiments showed that the proposed method helps determining time series trends. The complex periodicity electrocardiogram data and closing prices of Gazprom shares were used for all experiments.
Keywords: local trend, approximation, principal components, Hough transformation, time series, forecasting.
Acknowledgements. The research has been financially supported by RFBR within the framework of the research project no. 17-01-00888 а.
References
1. Hunter J., Mcintosh N. Knowledge-based event detection in complex time series data. Artificial Intelligence in Medicine. Springer Publ., 1999, pp. 271-280.
2. Ge X., Smyth P. Segmental Semi-markov models for endpoint detection in plasma etching. IEEE Trans. on Semiconductor Eng. 2001, vol. 259, pp. 201-209.
3. Wang Peng, Wang Haixun, Wang Wei. Finding semantics in time series. Proc. 2011 ACM SIGMOD Intern. Conf. on Management of Data. 2011, pp. 385-396.
4. Belyavsky G., Puchkov E. Nonlinear principal component analysis approach to pattern recognition. Modeling of Artificial Intelligence. 2016, vol. 9, iss. 1, pp. 24-32.
5. Golyandina N., Nekrutkin V., Zhigljavsky A. Analysis of time series structure: SSA and related techniques. Chapman & Hall/CRC Publ., 2001, 320 p.
6. Canny J.F. A computational approach to edge detection. IEEE Trans. Pattern Analysis and Machine Intelligence. 1986, no. 8, pp. 679-698.
7. Keogh E., Chu S., Hart D., Pazzani M. Segmenting time series: A survey and novel approach. Data mining in time series databases. World Scientific, Singapore, 2004, pp. 1-21.
8. Keogh E., Chakrabarti K., Pazzani M., Mehrotra S. Dimensionality reduction for fast similarity search in large time series databases. Knowledge and Information Systems. 2000, no. 3, pp. 263-286.
9. Matsubara Ya., Sakurai Ya., Faloutsos Ch. AutoPlait: Automatic mining of coevolving time sequences. Proc. 2014 ACM SIGMOD Intern. Conf. on Management of Data. 2014, pp. 193-204. DOI: 10.1145/2588555.2588556.
10. Lin Tao, Guo Tian, Aberer K. Hybrid neural networks for learning the trend in time series. Proc. 26th Intern. Joint Conf. on Artificial Intelligence. 2017, pp. 2273-2279.