Прогнозирование временных рядов методом SSA (пример)

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Описание алгоритма)
(Описание алгоритма)
Строка 11: Строка 11:
== Описание алгоритма ==
== Описание алгоритма ==
-
Выберем n такое, что <tex>$0 < n \le N - 1$</tex> - время жизни многомерной гусеницы. Пусть <tex>$\sigma = N - n + 1$</tex> - длина гусеницы. Построим последовательность из n векторов в <tex>$R^{\tau}$</tex>, <tex>$\tau = s*\sigma$</tex>, следующего вида:
+
<p>Выберем n такое, что <tex>$0 < n \le N - 1$</tex> - время жизни многомерной гусеницы. Пусть <tex>$\sigma = N - n + 1$</tex> - длина гусеницы. Построим последовательность из n векторов в <tex>$R^{\tau}$</tex>, <tex>$\tau = s*\sigma$</tex>, следующего вида:
-
<tex>$$Y^{(l)} \in R^\tau, Y^{(l)} = (X^{(l,1)}, \ldots, X^{(l,s)})^T,$$</tex>
+
<p><tex>$$Y^{(l)} \in R^\tau, Y^{(l)} = (X^{(l,1)}, \ldots, X^{(l,s)})^T,$$</tex>
-
где <tex>$X^{(l,k)} = (f_{i+l-1}^{(k)})_{i=1}^{\sigma}$</tex>. Обозначим
+
<p>где <tex>$X^{(l,k)} = (f_{i+l-1}^{(k)})_{i=1}^{\sigma}$</tex>. Обозначим
-
<tex>$$Z = (Y^{(1)}, \ldots, Y^{(n)}).$$</tex>
+
<p><tex>$$Z = (Y^{(1)}, \ldots, Y^{(n)}).$$</tex>
-
Будем называть <tex>$Z$</tex> нецентрированной матрицей наблюдений, порождённой гусеницей со временем жизни n. Проводимый в дальнейшем анализ главных компонент может проводиться как по центрированной, так и по нецентрированной выборкам. Для упрощения выкладок рассмотрим простейший нецентрированный вариант.
+
<p>Будем называть <tex>$Z$</tex> нецентрированной матрицей наблюдений, порождённой гусеницей со временем жизни n. Проводимый в дальнейшем анализ главных компонент может проводиться как по центрированной, так и по нецентрированной выборкам. Для упрощения выкладок рассмотрим простейший нецентрированный вариант.
-
Рассмотрим ковариационную матрицу полученной многомерной выборки
+
<p>Рассмотрим ковариационную матрицу полученной многомерной выборки
-
<tex>$$C = \frac1n ZZ^T.$$</tex>
+
<p><tex>$$C = \frac1n ZZ^T.$$</tex>

Версия 14:59, 5 мая 2010

SSA (Singular Spectrum Analysis, "Гусеница") - метод анализа и прогноза временных рядов. Базовый вариант метода состоит в преобразовании одномерного ряда в многомерный с помощью однопараметрической сдвиговой процедуры (отсюда и название "Гусеница"), исследовании полученной многомерной траектории с помощью анализа главных компонент (сингулярного разложения) и восстановлении (аппроксимации) ряда по выбранным главным компонентам. Таким образом, результатом применения метода является разложение временного ряда на простые компоненты: медленные тренды, сезонные и другие периодические или колебательные составляющие, а также шумовые компоненты. Полученное разложение может служить основой прогнозирования как самого ряда, так и его отдельных составляющих. "Гусеница" допускает естественное обобщение на многомерные временные ряды, а также на случай анализа изображений. В данной статье рассмотрим вариант алгоритма, предназначенный для анализа многомерного временного ряда.


Постановка задачи

Наблюдается система функций дискретного аргумента {$(f_i^{(k)})_{i=1}^N$, где k = 1, ..., s}. Параметр s, таким образом, имеет смысл размерности многомерной числовой последовательности, а N - количество элементов в последовательности. Требуется разложить ряд в сумму компонент (используя метод главных компонент, см. описание алгоритма), интерпретировать каждую компоненту, и построить продолжение ряда $(f_i^{(k)})_{i=1}^{N+M}$ по выбранным компонентам.


Описание алгоритма

Выберем n такое, что $0 < n \le N - 1$ - время жизни многомерной гусеницы. Пусть $\sigma = N - n + 1$ - длина гусеницы. Построим последовательность из n векторов в $R^{\tau}$, $\tau = s*\sigma$, следующего вида: <p>$$Y^{(l)} \in R^\tau, Y^{(l)} = (X^{(l,1)}, \ldots, X^{(l,s)})^T,$$ <p>где $X^{(l,k)} = (f_{i+l-1}^{(k)})_{i=1}^{\sigma}$. Обозначим <p>$$Z = (Y^{(1)}, \ldots, Y^{(n)}).$$ <p>Будем называть $Z$ нецентрированной матрицей наблюдений, порождённой гусеницей со временем жизни n. Проводимый в дальнейшем анализ главных компонент может проводиться как по центрированной, так и по нецентрированной выборкам. Для упрощения выкладок рассмотрим простейший нецентрированный вариант. <p>Рассмотрим ковариационную матрицу полученной многомерной выборки <p>$$C = \frac1n ZZ^T.$$

Личные инструменты