Сравнение временных рядов при авторегрессионном прогнозе (пример)
Материал из MachineLearning.
м (→Расстояние между временными рядами) |
(→Исходный код) |
||
Строка 147: | Строка 147: | ||
== Исходный код == | == Исходный код == | ||
- | [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/ | + | [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/Romanenko2010Compare/ CompareTimeSeriesByAutoregression] |
== Литература == | == Литература == |
Версия 10:51, 12 марта 2012
Содержание[убрать] |
Аннотация
Данная работа посвящена исследованию зависимости между пространственными характеристиками (форма, период) временного ряда[1] и распределением параметров регрессионных моделей, которые описывают эти временные ряды. Один из подходов исследовать данную зависимость - посмотреть, как распределены параметры моделей для похожих в некотором смысле временных рядов, и насколько эти распределения различаются для непохожих (различных в некотором смысле) временных рядов.
Постановка задачи
Временным рядом называется последовательность упорядоченных по времени значений некоторой вещественной переменной . Элемент последовательности называется отсчетом временного ряда.
Задача авторегрессионного прогноза заключается в нахождении модели , где
вектор параметров модели, которая наилучшим образом приближает следущее значение временного ряда
.
Пусть задан временной ряд . Предполагается, что отсчеты
были сделаны через равные промежутки времени, и период временного ряда равен
, при этом
, где
.
Задана модель
,где случайная величина
имеет нормальное распределение
. Вектор параметров модели
рассматривается как многомерная случайная величина. Пусть плотность распределения параметров имеет вид многомерного нормального распределения
с матрицей ковариации
. Модель некоторым образом учитывает период временного ряда.
Предполагается, модель временного ряда может меняться с течением времени, т.е. для разных подпоследовательностей длины
оптимальные параметры модели
будут отличаться.
Расстояние между временными рядами
Расстояние между различными подпоследовательностями и
можно вычислить как сумму квадратов отклонений:
Однако этот метод учитывает только расстояния между парами отсчетов временного ряда. Метод поиска пути минимальной стоимости (warping path)[1] учитывает не только расстояние между отсчетами рядов, но и форму самих временных рядов.
Предположим, мы имеем две последовательности и
. Тогда построим матрицу
попарных расстояний:
Далее из элементов матрицы строим путь:
Построенный путь удовлетворяет следующим условиям:
'1 граничные условия:'Стоимостью пути будет
Среди всех путей есть по крайней мере один с минимальной стоимостью. Его стоимость и будем считать расстоянием между последовательностями:
Алгоритм поиска пути минимальной стоимости рекурсивно находит длину пути наименьшей стоимости до каждого элемента матрицы
:
Расстояние между параметрами модели
Расстояние между параметрами модели , настроенной на разных подпоследовательностях, можно измерить как расстояние Кульбака-Лейблера между функциями распределения 2-ух случайных величин
:
Постановка задачи
Требуется исследовать зависимость расстояния между параметрами модели от расстояния между подпоследовательностями, на которых эти параметры были настроены.
Алгоритм
Для настройки параметров модели используется связный байесовский вывод
где — функция ошибки,
— матрица Гессе функции ошибок,
— функция ошибки в пространстве данных.
Настройка параметрической регрессионной модели происходит в 2 этапа [1], сначала настраиваются параметры при фиксированных гиперпараметрах
, затем при вычисленных значениях параметров функция правдоподобия
оптимизируется по гиперпараметрам. Процедура повторяется, пока настраиваемые параметры не стабилизируется.
Для простоты вычислений, считаем, что имеет диагональный вид:
.
Вычислительный эксперимент
Пример на реальных данных
Вычислительный эксперимент проводился на реальных данных. Использовались временные ряды потребления электроэнергии в некотором регионе с отсчетами 1 час, период ряда равен .
Эксперимент состоит из этапов:
1) из множества порождающих моделей:
была построена их суперпозиция, описывающая потребление электроэнергии за сутки:
2) модель настраивается на подпоследовательности
,
где - номер суток. В результате получаем набор оптимальных параметров и гиперпараметров модели, оптимальных для данной подпоследовательности:
3) строится зависимость расстояния между последовательностями в пространстве параметров:
Результаты экспериментов на реальных данных показывают, что можно выделить среди множества пар временных рядов похожие и непохожие. Используя расстояние Кульбака-Лейблера между распределениями параметров моделей можно установить порог, который поможет определить похожие на заранее выделенный тип временных рядов. Для пояснения вышесказанного приведем пример на модельных данных, в которых участвуют временные ряды двух типов.
Пример на сгенерированных данных
Проведен для для 6 моделей распределения данных:
1) , где
;
2) , где
;
3) , где
,
- дисперсия случайной величины;
4) , где
;
5) , где
;
6) , где
.
Первые три модели относится в первому типу (line), три последних модели относятся ко второму типу (parabola).
Прогнозирующая модель была линейной: .
На тестовом примере видно, что чем больше расстояние между рядами в пространстве значений, тем скорее больше будет разница между распределениями настроенных параметров. На картинках можно явно разделить увидеть, что расстояние Кульбака-Лейблера между распределениями настроенных параметров для похожих моделей (line - line или parabola - parabola) значительно меньше расстояния между параметрами непохожих моделей (line-parabola или parabola-line). Таким образом можно настроить такой порог, по которому можно было бы определить, относится ли временной ряд к заранее фиксированному типу моделей.
Исходный код
CompareTimeSeriesByAutoregression
Литература
![]() | Данная статья была создана в рамках учебного задания.
См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |