Графические модели (курс лекций)/2013/Задание 3
Материал из MachineLearning.
(→Формулировка задания) |
(→Модель авторегрессии) |
||
Строка 16: | Строка 16: | ||
:<tex>\vec{x}_n = \vec{w} + A\vec{x}_{n-1} + \vec{\varepsilon}_n,\quad \vec{\varepsilon}_n\sim\mathcal{N}(\vec{0},\Sigma)</tex>. | :<tex>\vec{x}_n = \vec{w} + A\vec{x}_{n-1} + \vec{\varepsilon}_n,\quad \vec{\varepsilon}_n\sim\mathcal{N}(\vec{0},\Sigma)</tex>. | ||
- | Здесь <tex>\vec{w}\in\mathbb{R}^d</tex>, <tex>A\in\mathbb{R}^{d\times d}</tex>, <tex>\Sigma\in\mathbb{R}^{d\times d}</tex>, шумовые компоненты <tex>\vec{\varepsilon}_n</tex> | + | Здесь <tex>\vec{w}\in\mathbb{R}^d</tex> — параметр сдвига, <tex>A\in\mathbb{R}^{d\times d}</tex> — авторегрессионная матрица, <tex>\Sigma\in\mathbb{R}^{d\times d}</tex> — матрица ковариации шума, шумовые компоненты <tex>\vec{\varepsilon}_n</tex> предполагаются независимыми. Процесс авторегрессии является стационарным, если все собственные значения матрицы <tex>A</tex> (включая комплексные) по модулю меньше единицы. Мат.ожидание <tex>\vec{\mu}</tex> стационарного процесса авторегрессии определяется как |
:<tex>\vec{\mu} = (I-A)^{-1}\vec{w}</tex>, | :<tex>\vec{\mu} = (I-A)^{-1}\vec{w}</tex>, | ||
Строка 49: | Строка 49: | ||
а <tex>X_0=\{\vec{x}_0,\vec{x}_{-1},\dots,\vec{x}_{1-M}\}</tex> — начальная предыстория. | а <tex>X_0=\{\vec{x}_0,\vec{x}_{-1},\dots,\vec{x}_{1-M}\}</tex> — начальная предыстория. | ||
- | |||
== Авторегрессионная скрытая марковская модель == | == Авторегрессионная скрытая марковская модель == |
Версия 22:53, 30 марта 2013
Формулировка задания находится в стадии подготовки. Убедительная просьба не приступать к выполнению задания до тех пор, пока это предупреждение не будет удалено. |
Начало выполнения задания: 18 марта 2013 г.;
Срок сдачи: 7 апреля 2013 г. (воскресенье), 23:59.
Среда для выполнения задания — MATLAB. Неэффективная реализация кода может негативно отразиться на оценке.
Содержание |
Модель авторегрессии
Случайный процесс с дискретным временем , называется авторегрессией первого порядка, если
- .
Здесь — параметр сдвига, — авторегрессионная матрица, — матрица ковариации шума, шумовые компоненты предполагаются независимыми. Процесс авторегрессии является стационарным, если все собственные значения матрицы (включая комплексные) по модулю меньше единицы. Мат.ожидание стационарного процесса авторегрессии определяется как
- ,
где — единичная матрица размера .
В терминах графических моделей авторегрессия первого порядка представляет собой байесовскую сеть с графом вида цепочка (см. рис.), где совместное распределение задается как
- ,
а — начальная предыстория.
Авторегрессия M-го порядка задается как
- .
Здесь шумовые компоненты по-прежнему предполагаются независимыми. Очевидно, что авторегрессия M-го порядка может быть сведена к авторегрессии первого порядка как
Поэтому авторегрессия M-го порядка является стационарной, если все собственные значения матрицы по модулю меньше единицы. Мат.ожидание стационарной регрессии M-го порядка определяется как
- .
В дальнейшем для удобства набор матриц будем обозначать через .
В терминах графических моделей авторегрессия M-го порядка представляет собой байесовскую сеть с графом, показанном на рис. справа, где совместное распределение задается как
- ,
а — начальная предыстория.
Авторегрессионная скрытая марковская модель
Авторегрессионная скрытая марковская модель M-го порядка — это байесовская сеть, граф которой показан на рис. справа, а совместное распределение задается как
- .
Здесь — скрытые дискретные состояния, — непрерывные наблюдаемые переменные. Априорное распределение задается вектором , причем все и . Распределение задается матрицей перехода размера , где в -ой позиции стоит вероятность перехода из состояния в состояние . Все элементы этой матрицы неотрицательны, а сумма элементов по каждой строке равна единице. Модель генерации данных соответствует модели авторегрессии, в которой параметры зависят от текущего состояния . Таким образом,
- .
В результате полный набор параметров модели состоит из . Глубина авторегрессии , количество скрытых состояний , а также начальная предыстория задаются пользователем.
Формулировка задания
- Для модели авторегрессии M-го порядка:
- Вывести формулы для оценки параметров модели по наблюдениям с помощью метода максимального правдоподобия;
- Реализовать процедуру генерации сигнала из модели авторегрессии;
- Реализовать процедуру оценки параметров по методу максимального правдоподобия;
- Реализовать процедуру оценки выборочной автокорреляционной функции остатков авторегрессии;
- Провести эксперименты с авторегрессией M-го порядка на модельных данных:
- в
- Для авторегрессионной скрытой марковской модели:
- Вывести формулы ЕМ-алгоритма для оценки параметров модели , при этом предусмотреть ситуации, когда часть параметров известна;
- Реализовать процедуру генерации сигнала из модели;
- Реализовать процедуру оценки параметров модели с помощью EM-алгоритма;
- Реализовать процедуру оценки скрытых состояний по наблюдаемым данным и параметрам модели с помощью алгоритма Витерби;
- Провести эксперименты с авторегрессионной скрытой марковской моделью на модельных данных:
- Применить авторегрессионную скрытую марковскую модель для моделирования и сегментации движений в базе данных mocap.
Рекомендации по выполнению задания
1. Вывод формул для авторегрессии и авторегрессионной скрытой марковской модели удобно осуществлять путем введения обозначений
Тогда выражение можно лаконично записать как .
2. При тестировании ЕМ-алгоритма рекомендуется отследить монотонное возрастание логарифма правдоподобия в итерациях.
Оформление задания
Выполненное задание следует отправить письмом по адресу bayesml@gmail.com с заголовком письма «[ГМ13] Задание 3 <ФИО>». Убедительная просьба присылать выполненное задание только один раз с окончательным вариантом. Также убедительная просьба строго придерживаться заданных ниже прототипов реализуемых функций.
Присланный вариант задания должен содержать в себе:
- Файл отчёта в формате PDF с указанием ФИО.
- Все исходные коды с необходимыми комментариями.
Генерация выборки из модели авторегрессии | |||||
---|---|---|---|---|---|
X = ar_generate(N, w, A, Sigma, X0) | |||||
ВХОД | |||||
| |||||
ВЫХОД | |||||
|
Если начальная предыстория не задана, то выбирается равной мат.ожиданию процесса авторегрессии.
Оценка параметров авторегрессии | |||||
---|---|---|---|---|---|
[w, A, Sigma, res, LH] = ar_fit(X, M) | |||||
ВХОД | |||||
| |||||
ВЫХОД | |||||
|
Генерация выборки из авторегрессионной скрытой марковской модели | |||||||
---|---|---|---|---|---|---|---|
[X, T] = arhmm_generate(N, p, R, W, A, Sigmas, X0) | |||||||
ВХОД | |||||||
| |||||||
ВЫХОД | |||||||
|
Если начальная предыстория не задана, то выбирается равной мат.ожиданию процесса авторегрессии, соответствующего сгенерированному состоянию .
Оценка параметров авторегрессионной скрытой марковской модели с помощью ЕМ-алгоритма | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
[p, R, W, A, Sigmas] = arhmm_fit(X, K, M, param_name1, param_value1, ...) | |||||||||||||||||||||||||||||||||
ВХОД | |||||||||||||||||||||||||||||||||
|