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

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

(Различия между версиями)
Перейти к: навигация, поиск
м Свертка временных рядов при авторегрессионном прогнозе (пример)» переименована в «[[Сравнение временных рядов при авторегрессионном п)
(Постановка задачи)
Строка 6: Строка 6:
== Постановка задачи ==
== Постановка задачи ==
-
Пусть задан временной ряд <tex>$\mathbf{x}=\{x_{t}\}_{t=1}^T\in\mathbb{R}^T$</tex>. Предполагается, что отсчеты <tex>t=1,\dots, T</tex> были сделаны через равные промежутки времени, и период временного ряда равен <tex>$p$</tex>, при этом <tex>$ {T}+1=p\cdot{n}$</tex>, где <tex>n\in\mathbb{N}</tex>.
+
Пусть задан временной ряд <tex>$\mathbf{x}=\{x_{t}\}_{t=1}^T\in\mathbb{R}^T$</tex>. Предполагается, что отсчеты <tex>t=1,\dots, T</tex> были сделаны через равные промежутки времени, и период временного ряда равен <tex>$p$</tex>, при этом <tex>$ {T}+1=p\cdot{n}$</tex>, где <tex>n\in\mathbb{N}</tex>.
-
Требуется спрогнозировать следующий отсчет временного ряда <tex>x_{T+1}</tex>.
+
Задана модель <tex>$\mathbf{x}=f(\{\mathbf{x}\}, w)+\epsilon$</tex>,где случайная величина <tex>\mathbf{\varepsilon}</tex> имеет нормальное распределение <tex>\mathbf{\varepsilon} \in N(0, \sigma^2)</tex>. Вектор параметров модели <tex>\mathbf{w}</tex> рассматривается как многомерная случайная величина. Пусть плотность распределения параметров имеет вид многомерного нормального распределения <tex>N(\mathbf{0}, A)</tex> с матрицей ковариации <tex>A</tex>. Модель некоторым образом учитывает период временного ряда.
 +
Предполагается, модель временного ряда может меняться с течением времени, т.е. для разных подпоследовательностей длины <tex>p</tex> оптимальные параметры модели <tex>$\mathbf{x}=f(\{\mathbf{x}\}, w)+\epsilon$</tex> будут отличаться. Расстояние между различными подпоследовательностями <tex> x_{n_1\cdot{p}+1},\dots,x_{(n_1+1)\cdot{p}}</tex> и <tex> x_{n_2\cdot{p}+1},\dots,x_{(n_2+1)\cdot{p}}</tex> измеряется как сумма квадратов отклонений:
 +
<center><tex>SSE=\sum_{i=1}^p{(x_{n_2{p}+i}-x_{n_1{p}+i})^2}</tex></center>.
 +
Расстояние между параметрами модели <tex>$\mathbf{x}=f(\{\mathbf{x}\}, w)+\epsilon$</tex>, настроенной на разных подпоследовательностях, можно измерить как расстояние Кульбака-Лейблера между функциями распределения 2-ух случаных величин <math>{p(x)}{q(x)}</math>:
 +
<center><tex>D_{KL}(p, q) = \sum\limits_{x\in \mathcal{X}} p(x) \ln \frac{p(x)}{q(x)}.</tex></center>
-
Построим матрицу <tex>n\times{p}</tex>
+
Требуется показать зависимость расстояния между параметрами модели <tex>$\mathbf{x}=f(\{\mathbf{x}\}, w)+\epsilon$</tex> от расстояния между подпоследовательностями, на которых эти параметры были настроены.
-
<tex>
+
-
\left(
+
-
\begin{array}{l|cc}
+
-
x_{T+1} & x_{T} & \ldots & x_{T+1-(p-1)} \\
+
-
x_{(n-1)p} & x_{(n-1)p-1} & \ldots & x_{(n-1)p-(p-1)} \\
+
-
\vdots & \vdots & \ddots & \vdots \\
+
-
x_{p} & x_{p-1} & \ldots & x_1 \\
+
-
\end{array}
+
-
\right)
+
-
</tex>.
+
-
 
+
-
Модель имеет вид <tex>\widehat{x}_{kp} = f \left (\{x_{kp-1},\dots,x_{kp-(p-1)}\}, \mathbf{w}\right)= \sum_{i=1}^u{\sum_{j=1}^{p-1}{\phi^i(x_{kp-j})\cdot{w_j^i}}</tex>, где <tex>1\leq{k}\leq{n-1}</tex>, а <tex>\{\phi_i\}_{i=1}^u-</tex> набор порождающих функций.
+
== Алгоритм ==
== Алгоритм ==

Версия 02:49, 16 декабря 2010

Содержание

Аннотация

Временным рядом называется последовательность упорядоченных по времени значений некоторой вещественной переменной $\mathbf{x}=\{x_{t}\}_{t=1}^T\in\mathbb{R}^T$. Элемент последовательности называется отсчетом временного ряда.

Задача авторегрессионного прогноза заключается в нахождении модели $f(\mathbf{x}, \mathbf{w})$, где $\mathbf{w}\in\mathbb{R}^M$ вектор параметров модели, которая наилучшим образом приближает следущее значение временного ряда $x_{T+1}:\widehat{x}_{T+1}=f(\mathbf{x}, \mathbf{w})$. Свертка временного ряда возникает в случае существования на множестве подпоследовательностей временного ряда некоторого инварианта. Примером инварианта является период временного ряда, который физически может означать сезонность в данных. При этом построенная модель должна учитывать наличие инварианта и сохранять данное свойство для ряда прогнозов: $\{\widehat{x}_{t}\}_{t=1}^T\in\mathbb{R}^T$.

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

Пусть задан временной ряд $\mathbf{x}=\{x_{t}\}_{t=1}^T\in\mathbb{R}^T$. Предполагается, что отсчеты t=1,\dots, T были сделаны через равные промежутки времени, и период временного ряда равен $p$, при этом $ {T}+1=p\cdot{n}$, где n\in\mathbb{N}. Задана модель $\mathbf{x}=f(\{\mathbf{x}\}, w)+\epsilon$,где случайная величина \mathbf{\varepsilon} имеет нормальное распределение \mathbf{\varepsilon} \in N(0, \sigma^2). Вектор параметров модели \mathbf{w} рассматривается как многомерная случайная величина. Пусть плотность распределения параметров имеет вид многомерного нормального распределения N(\mathbf{0}, A) с матрицей ковариации A. Модель некоторым образом учитывает период временного ряда. Предполагается, модель временного ряда может меняться с течением времени, т.е. для разных подпоследовательностей длины p оптимальные параметры модели $\mathbf{x}=f(\{\mathbf{x}\}, w)+\epsilon$ будут отличаться. Расстояние между различными подпоследовательностями  x_{n_1\cdot{p}+1},\dots,x_{(n_1+1)\cdot{p}} и  x_{n_2\cdot{p}+1},\dots,x_{(n_2+1)\cdot{p}} измеряется как сумма квадратов отклонений:

SSE=\sum_{i=1}^p{(x_{n_2{p}+i}-x_{n_1{p}+i})^2}
.

Расстояние между параметрами модели $\mathbf{x}=f(\{\mathbf{x}\}, w)+\epsilon$, настроенной на разных подпоследовательностях, можно измерить как расстояние Кульбака-Лейблера между функциями распределения 2-ух случаных величин <math>{p(x)}{q(x)}</math>:

D_{KL}(p, q) = \sum\limits_{x\in \mathcal{X}} p(x) \ln \frac{p(x)}{q(x)}.

Требуется показать зависимость расстояния между параметрами модели $\mathbf{x}=f(\{\mathbf{x}\}, w)+\epsilon$ от расстояния между подпоследовательностями, на которых эти параметры были настроены.

Алгоритм

В терминах поставленной задачи следует решить следующую задачу оптимизации: ||\mathbf{y}- \mathbf{X}\mathbf{w}||_2\rightarrow\min_{\mathbf{w}}, где 
\left(
\begin{array}{l|ccccc}
x_{(n-1)p} & \phi^1(x_{(n-1)p-1})&\dots &\phi^u(x_{(n-1)p-1})& \ldots & \phi^u(x_{(n-1)p-(p-1)}) \\
\vdots  & \vdots    & \ddots & \vdots & \ddots & \vdots   \\
x_{p}   & \phi^1(x_{p-1})&\dots &\phi^u(x_{p-1})& \ldots & \phi^u(x_{1}) \\
\end{array}
\right)=
\left(
\begin{array}{l|l}
\mathbf{y} & \mathbf{X}
\end{array}
\right).
Если зафиксировать набор порождающих функций \{\phi_i\}_{i=1}^u-, то возникает задача линейной регрессии, которую можно решать несколькими способами. Так как за счет большого количества порождающих функций у нас появится огромное количество признаков то наиболее подходящими будут методы, проводящие отбор признаков: гребневая регрессия, лассо, шаговая регрессия, метод наименьших углов(ЛАРС).

Вычислительный эксперимент

Вычислительный эксперимент проводился на реальных данных. Использовались временные ряды потребления электроэнергии в некотором регионе с отсчетами а) 1 час и b) 24 часа. В первом случае период ряда был равен p=24, во втором p=7. Для решения задача линейной регрессии использовался метод наименьших углов (ЛАРС).

Исходный код

Смотри также

Литература

  1. Стрижов В.В, Пташко Г.О. Построение инвариантов на множестве временных рядов путем динамической свертки свободной переменной. — ВЦ РАН, 2009.
  2. Стрижов В.В Методы выбора регрессионных моделей. — ВЦ РАН, 2010.
Личные инструменты