Сравнение временных рядов при авторегрессионном прогнозе (пример)
Материал из MachineLearning.
(→Литература) |
|||
Строка 8: | Строка 8: | ||
Пусть задан временной ряд <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(\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>$\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>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>. | ||
+ | |||
+ | Однако этот метод учитывает только расстояния между парами отсчетов временного ряда. Метод поиска пути минимальной стоимости (warping path) учитывает не только расстояние между отсчетами рядов, но и форму самих временных рядов. | ||
+ | |||
+ | Предположим, мы имеем две последовательности <tex>\mathbf{x}= \{x_{1},\dots,x_{n}\}\in\mathbb{R}^n</tex> и <tex>\mathbf{y}= \{y_{1},\dots,y_{m}\}\in\mathbb{R}^m</tex>. Тогда построим матрицу <tex>n\times m</tex> попарных расстояний: | ||
+ | |||
+ | <center><tex>\Omega=\|\omega_{i,j}\|_{i=1,j=1}^{n, m}=\|(x_i-x_j)^2\|_{i=1,j=1}^{n, m}</tex></center>. | ||
+ | |||
+ | Далее из элементов матрицы <tex>\Omega</tex> строим путь: | ||
+ | |||
+ | <center><tex>\{s_1, \dots, s_C\}=\{\omega_{i_1,j_1}, \dots, \omega_{i_{n_C}, j_{m_C}}\}</tex></center>. | ||
+ | |||
+ | Построенный путь удовлетворяет следующим условиям: | ||
+ | |||
+ | ''''1 граничные условия:'''' <center> <tex>s_1 = \omega_{1,1},~ s_C = \omega_{n,m}</tex>;</center> | ||
+ | |||
+ | ''''2) непрерывность:'''' <center>если~<tex> s_k = \omega_{i,j},~ s_{k-1} = \omega_{i',j'}</tex>, тогда <tex>i-i'\leq 1,~ j-j'\leq 1</tex>;</center> | ||
+ | |||
+ | ''''3) монотонность:'''' <center>если~<tex> s_k = \omega_{i,j},~ s_{k-1} = \omega_{i',j'}</tex>, тогда <tex>i-i'\geq 0,~j-j'\geq 0</tex>.</center> | ||
+ | |||
+ | Стоимостью пути <tex>\{s_1, \dots, s_C\}</tex> будет | ||
+ | |||
+ | <center><tex><tex>D\left(\{s_1, \dots, s_C\}\right)=\frac{\sqrt{\sum_{c=1}^C{s_c}}}{C}</tex>.</center> | ||
+ | |||
+ | Среди всех путей есть по крайней мере один с минимальной стоимостью. Его стоимость и будем считать расстоянием между последовательностями: | ||
+ | |||
+ | <center><tex>DTW(\mathbf{x},\mathbf{y}) = \min\limits_{\{s_1, \dots, s_C\}}D\left(\{s_1, \dots, s_C\}\right)</tex></center>. | ||
+ | |||
+ | === Расстояние между параметрами модели === | ||
+ | Расстояние между параметрами модели <tex>$\mathbf{x}=f(\mathbf{x}, \mathbb{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> | ||
+ | === Постановка задачи === | ||
Требуется исследовать зависимость расстояния между параметрами модели <tex>$\mathbf{x}=f(\mathbf{x}, w)+\epsilon$</tex> от расстояния между подпоследовательностями, на которых эти параметры были настроены. | Требуется исследовать зависимость расстояния между параметрами модели <tex>$\mathbf{x}=f(\mathbf{x}, w)+\epsilon$</tex> от расстояния между подпоследовательностями, на которых эти параметры были настроены. | ||
Строка 78: | Строка 110: | ||
[[Изображение:KL SSE Distance.png|thumb|left]] | [[Изображение:KL SSE Distance.png|thumb|left]] | ||
+ | Результаты экспериментов на реальных данных опровергают утверждение о зависимости расстояния между временными рядами в пространстве значений от расстояния между распределениями параметров соответствующей им модели. | ||
== Исходный код == | == Исходный код == | ||
== Смотри также == | == Смотри также == | ||
Строка 92: | Строка 125: | ||
|издательство = ВЦ РАН | |издательство = ВЦ РАН | ||
|год = 2010 | |год = 2010 | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
}} | }} |
Версия 18:14, 21 декабря 2010
Содержание |
Аннотация
Временным рядом называется последовательность упорядоченных по времени значений некоторой вещественной переменной . Элемент последовательности называется отсчетом временного ряда.
Задача авторегрессионного прогноза заключается в нахождении модели , где вектор параметров модели, которая наилучшим образом приближает следущее значение временного ряда . Свертка временного ряда возникает в случае существования на множестве подпоследовательностей временного ряда некоторого инварианта. Примером инварианта является период временного ряда, который физически может означать сезонность в данных. При этом построенная модель должна учитывать наличие инварианта и сохранять данное свойство для ряда прогнозов: .
Постановка задачи
Пусть задан временной ряд . Предполагается, что отсчеты были сделаны через равные промежутки времени, и период временного ряда равен , при этом , где . Задана модель ,где случайная величина имеет нормальное распределение . Вектор параметров модели рассматривается как многомерная случайная величина. Пусть плотность распределения параметров имеет вид многомерного нормального распределения с матрицей ковариации . Модель некоторым образом учитывает период временного ряда. Предполагается, модель временного ряда может меняться с течением времени, т.е. для разных подпоследовательностей длины оптимальные параметры модели будут отличаться.
Расстояние между временными рядами
Расстояние между различными подпоследовательностями и можно вычислить как сумму квадратов отклонений:
Однако этот метод учитывает только расстояния между парами отсчетов временного ряда. Метод поиска пути минимальной стоимости (warping path) учитывает не только расстояние между отсчетами рядов, но и форму самих временных рядов.
Предположим, мы имеем две последовательности и . Тогда построим матрицу попарных расстояний:
Далее из элементов матрицы строим путь:
Построенный путь удовлетворяет следующим условиям:
'1 граничные условия:'Стоимостью пути будет
Среди всех путей есть по крайней мере один с минимальной стоимостью. Его стоимость и будем считать расстоянием между последовательностями:
Расстояние между параметрами модели
Расстояние между параметрами модели , настроенной на разных подпоследовательностях, можно измерить как расстояние Кульбака-Лейблера между функциями распределения 2-ух случайных величин :
Постановка задачи
Требуется исследовать зависимость расстояния между параметрами модели от расстояния между подпоследовательностями, на которых эти параметры были настроены.
Алгоритм
Для настройки параметров модели используется связный байесовский вывод
где — функция ошибки,
— матрица Гессе функции ошибок,
— функция ошибки в пространстве данных.
Настройка параметрической регрессионной модели происходит в 2 этапа, сначала настраиваются параметры при фиксированных гиперпараметрах , затем при вычисленных значениях параметров функция правдоподобия оптимизируется по гиперпараметрам. Процедура повторяется, пока настраиваемые параметры не стабилизируется.
Для простоты вычислений, считаем, что имеет диагональный вид:
.
Вычислительный эксперимент
Вычислительный эксперимент проводился на реальных данных. Использовались временные ряды потребления электроэнергии в некотором регионе с отсчетами 1 час, период ряда равен .
Эксперимент состоит из этапов:
1) из множества порождающих моделей:
была построена их суперпозиция, описывающая потребление электроэнергии за сутки:
2) модель настраивается на подпоследовательности
,
где - номер суток. В результате получаем набор оптимальных параметров и гиперпараметров модели, оптимальных для данной подпоследовательности:
3) строится зависимость расстояния между последовательностями в пространстве параметров:
и расстояний в пространстве значений:
Результаты экспериментов на реальных данных опровергают утверждение о зависимости расстояния между временными рядами в пространстве значений от расстояния между распределениями параметров соответствующей им модели.
Исходный код
Смотри также
Литература
- Стрижов В.В, Пташко Г.О. Построение инвариантов на множестве временных рядов путем динамической свертки свободной переменной. — ВЦ РАН, 2009.
- Стрижов В.В Методы выбора регрессионных моделей. — ВЦ РАН, 2010.