Сравнение временных рядов при авторегрессионном прогнозе (пример)
Материал из MachineLearning.
(→Вычислительный эксперимент) |
|||
Строка 1: | Строка 1: | ||
== Аннотация == | == Аннотация == | ||
+ | Данная работа посвящена исследованию зависимости между характеристиками временного ряда и распределением параметров регрессионных моделей, которые описывают эти временные ряды. Один из подходов исследовать данную зависимость, посмотреть, как распределены параметры моделей для похожих в некотором смысле временных рядов, и насколько эти распределения различаются для непохожих (различных в некотором смысле) временных рядов. | ||
+ | |||
+ | == Постановка задачи == | ||
[[временной ряд|Временным рядом]] называется последовательность упорядоченных по времени значений некоторой вещественной переменной <tex>$\mathbf{x}=\{x_{t}\}_{t=1}^T\in\mathbb{R}^T$</tex>. Элемент последовательности называется отсчетом временного ряда. | [[временной ряд|Временным рядом]] называется последовательность упорядоченных по времени значений некоторой вещественной переменной <tex>$\mathbf{x}=\{x_{t}\}_{t=1}^T\in\mathbb{R}^T$</tex>. Элемент последовательности называется отсчетом временного ряда. | ||
Строка 5: | Строка 8: | ||
Свертка временного ряда возникает в случае существования на множестве подпоследовательностей временного ряда некоторого инварианта. Примером инварианта является период временного ряда, который физически может означать сезонность в данных. При этом построенная модель должна учитывать наличие инварианта и сохранять данное свойство для ряда прогнозов: <tex>$\{\widehat{x}_{t}\}_{t=1}^T\in\mathbb{R}^T$</tex>. | Свертка временного ряда возникает в случае существования на множестве подпоследовательностей временного ряда некоторого инварианта. Примером инварианта является период временного ряда, который физически может означать сезонность в данных. При этом построенная модель должна учитывать наличие инварианта и сохранять данное свойство для ряда прогнозов: <tex>$\{\widehat{x}_{t}\}_{t=1}^T\in\mathbb{R}^T$</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}=\{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>. Модель некоторым образом учитывает период временного ряда. | ||
Строка 157: | Строка 159: | ||
|издательство = ВЦ РАН | |издательство = ВЦ РАН | ||
|год = 2010 | |год = 2010 | ||
+ | }} | ||
+ | # {{книга | ||
+ | |автор = Keogh E. J., Pazzani M. J. | ||
+ | |заглавие = Derivative Dynamic Time Warping | ||
+ | |издательство = International Conference on Data Mining (SDM’2001) | ||
+ | |год = 2001 | ||
}} | }} |
Версия 10:52, 22 декабря 2010
Содержание |
Аннотация
Данная работа посвящена исследованию зависимости между характеристиками временного ряда и распределением параметров регрессионных моделей, которые описывают эти временные ряды. Один из подходов исследовать данную зависимость, посмотреть, как распределены параметры моделей для похожих в некотором смысле временных рядов, и насколько эти распределения различаются для непохожих (различных в некотором смысле) временных рядов.
Постановка задачи
Временным рядом называется последовательность упорядоченных по времени значений некоторой вещественной переменной . Элемент последовательности называется отсчетом временного ряда.
Задача авторегрессионного прогноза заключается в нахождении модели , где вектор параметров модели, которая наилучшим образом приближает следущее значение временного ряда . Свертка временного ряда возникает в случае существования на множестве подпоследовательностей временного ряда некоторого инварианта. Примером инварианта является период временного ряда, который физически может означать сезонность в данных. При этом построенная модель должна учитывать наличие инварианта и сохранять данное свойство для ряда прогнозов: .
Пусть задан временной ряд . Предполагается, что отсчеты были сделаны через равные промежутки времени, и период временного ряда равен , при этом , где . Задана модель ,где случайная величина имеет нормальное распределение . Вектор параметров модели рассматривается как многомерная случайная величина. Пусть плотность распределения параметров имеет вид многомерного нормального распределения с матрицей ковариации . Модель некоторым образом учитывает период временного ряда. Предполагается, модель временного ряда может меняться с течением времени, т.е. для разных подпоследовательностей длины оптимальные параметры модели будут отличаться.
Расстояние между временными рядами
Расстояние между различными подпоследовательностями и можно вычислить как сумму квадратов отклонений:
Однако этот метод учитывает только расстояния между парами отсчетов временного ряда. Метод поиска пути минимальной стоимости (warping path) учитывает не только расстояние между отсчетами рядов, но и форму самих временных рядов.
Предположим, мы имеем две последовательности и . Тогда построим матрицу попарных расстояний:
Далее из элементов матрицы строим путь:
Построенный путь удовлетворяет следующим условиям:
'1 граничные условия:'Стоимостью пути будет
Среди всех путей есть по крайней мере один с минимальной стоимостью. Его стоимость и будем считать расстоянием между последовательностями:
Расстояние между параметрами модели
Расстояние между параметрами модели , настроенной на разных подпоследовательностях, можно измерить как расстояние Кульбака-Лейблера между функциями распределения 2-ух случайных величин :
Постановка задачи
Требуется исследовать зависимость расстояния между параметрами модели от расстояния между подпоследовательностями, на которых эти параметры были настроены.
Алгоритм
Для настройки параметров модели используется связный байесовский вывод
где — функция ошибки,
— матрица Гессе функции ошибок,
— функция ошибки в пространстве данных.
Настройка параметрической регрессионной модели происходит в 2 этапа, сначала настраиваются параметры при фиксированных гиперпараметрах , затем при вычисленных значениях параметров функция правдоподобия оптимизируется по гиперпараметрам. Процедура повторяется, пока настраиваемые параметры не стабилизируется.
Для простоты вычислений, считаем, что имеет диагональный вид:
.
Вычислительный эксперимент
Пример на реальных дынных
Вычислительный эксперимент проводился на реальных данных. Использовались временные ряды потребления электроэнергии в некотором регионе с отсчетами 1 час, период ряда равен . Эксперимент состоит из этапов:
1) из множества порождающих моделей:
была построена их суперпозиция, описывающая потребление электроэнергии за сутки:
2) модель настраивается на подпоследовательности
,
где - номер суток. В результате получаем набор оптимальных параметров и гиперпараметров модели, оптимальных для данной подпоследовательности:
3) строится зависимость расстояния между последовательностями в пространстве параметров:
Результаты экспериментов на реальных данных показывают, что можно выделить среди множества пар временных рядов похожие и непохожие. Используя расстояние Кульбака-Лейблера между распределениями параметров моделей можно установить порог, который поможет определить похожие на заранее выделенный класс временных рядов. Для пояснения вышесказанного приведем пример на модельных данных, в которых участвуют временные ряды двух типов.
Пример на сгенерированных данных
Проведен для для 6 моделей распределения данных: 1) , где ;
2) , где ;
3) , где , - дисперсия случайной величины;
4) , где ;
5) , где ;
6) , где .
Первые три модели относится в первому типу (line), три последних модели относятся ко второму типу (parabola). Прогнозирующая модель была линейной: .
На тестовом примере видно, что чем больше расстояние между рядами в пространстве значений, тем скорее больше будет разница между распределениями настроенных параметров. На картинках можно явно разделить увидеть, что расстояние Кульбака-Лейблера между распределениями настроенных параметров для похожих моделей (line - line или parabola - parabola) значительно меньше расстояния между параметрами непохожих моделей (line-parabola или parabola-line). Таким образом можно настроить такой порог, по которому можно было бы определить, относится ли временной ряд к заранее фиксированному типу моделей.
Исходный код
Смотри также
Литература
- Стрижов В.В, Пташко Г.О. Построение инвариантов на множестве временных рядов путем динамической свертки свободной переменной. — ВЦ РАН, 2009.
- Стрижов В.В Методы выбора регрессионных моделей. — ВЦ РАН, 2010.
- Keogh E. J., Pazzani M. J. Derivative Dynamic Time Warping. — International Conference on Data Mining (SDM’2001), 2001.