Сравнение временных рядов при авторегрессионном прогнозе (пример)
Материал из MachineLearning.
(→Постановка задачи) |
(→Постановка задачи) |
||
Строка 7: | Строка 7: | ||
== Постановка задачи == | == Постановка задачи == | ||
Пусть задан временной ряд <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>$\mathbf{x}=f( | + | Задана модель <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( | + | Предполагается, модель временного ряда может меняться с течением времени, т.е. для разных подпоследовательностей длины <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>. | <center><tex>SSE=\sum_{i=1}^p{(x_{n_2{p}+i}-x_{n_1{p}+i})^2}</tex></center>. | ||
- | Расстояние между параметрами модели <tex>$\mathbf{x}=f( | + | Расстояние между параметрами модели <tex>$\mathbf{x}=f(\mathbf{x}, w)+\epsilon$</tex>, настроенной на разных подпоследовательностях, можно измерить как расстояние Кульбака-Лейблера между функциями распределения 2-ух случаных величин <tex>{p(x)}{q(x)}</tex>: |
<center><tex>D_{KL}(p, q) = \sum\limits_{x\in \mathcal{X}} p(x) \ln \frac{p(x)}{q(x)}.</tex></center> | <center><tex>D_{KL}(p, q) = \sum\limits_{x\in \mathcal{X}} p(x) \ln \frac{p(x)}{q(x)}.</tex></center> | ||
- | Требуется исследовать зависимость расстояния между параметрами модели <tex>$\mathbf{x}=f( | + | Требуется исследовать зависимость расстояния между параметрами модели <tex>$\mathbf{x}=f(\mathbf{x}, w)+\epsilon$</tex> от расстояния между подпоследовательностями, на которых эти параметры были настроены. |
== Алгоритм == | == Алгоритм == |
Версия 15:35, 19 декабря 2010
Содержание |
Аннотация
Временным рядом называется последовательность упорядоченных по времени значений некоторой вещественной переменной . Элемент последовательности называется отсчетом временного ряда.
Задача авторегрессионного прогноза заключается в нахождении модели , где вектор параметров модели, которая наилучшим образом приближает следущее значение временного ряда . Свертка временного ряда возникает в случае существования на множестве подпоследовательностей временного ряда некоторого инварианта. Примером инварианта является период временного ряда, который физически может означать сезонность в данных. При этом построенная модель должна учитывать наличие инварианта и сохранять данное свойство для ряда прогнозов: .
Постановка задачи
Пусть задан временной ряд . Предполагается, что отсчеты были сделаны через равные промежутки времени, и период временного ряда равен , при этом , где . Задана модель ,где случайная величина имеет нормальное распределение . Вектор параметров модели рассматривается как многомерная случайная величина. Пусть плотность распределения параметров имеет вид многомерного нормального распределения с матрицей ковариации . Модель некоторым образом учитывает период временного ряда. Предполагается, модель временного ряда может меняться с течением времени, т.е. для разных подпоследовательностей длины оптимальные параметры модели будут отличаться. Расстояние между различными подпоследовательностями и измеряется как сумма квадратов отклонений:
Расстояние между параметрами модели , настроенной на разных подпоследовательностях, можно измерить как расстояние Кульбака-Лейблера между функциями распределения 2-ух случаных величин :
Требуется исследовать зависимость расстояния между параметрами модели от расстояния между подпоследовательностями, на которых эти параметры были настроены.
Алгоритм
В терминах поставленной задачи следует решить следующую задачу оптимизации: , где Если зафиксировать набор порождающих функций , то возникает задача линейной регрессии, которую можно решать несколькими способами. Так как за счет большого количества порождающих функций у нас появится огромное количество признаков то наиболее подходящими будут методы, проводящие отбор признаков: гребневая регрессия, лассо, шаговая регрессия, метод наименьших углов(ЛАРС).
Вычислительный эксперимент
Вычислительный эксперимент проводился на реальных данных. Использовались временные ряды потребления электроэнергии в некотором регионе с отсчетами а) 1 час и b) 24 часа. В первом случае период ряда был равен , во втором . Для решения задача линейной регрессии использовался метод наименьших углов (ЛАРС).
Исходный код
Смотри также
Литература
- Стрижов В.В, Пташко Г.О. Построение инвариантов на множестве временных рядов путем динамической свертки свободной переменной. — ВЦ РАН, 2009.
- Стрижов В.В Методы выбора регрессионных моделей. — ВЦ РАН, 2010.