Ковариационная матрица в RStan - PullRequest
0 голосов
/ 19 июня 2019

Я бы хотел определить ковариационную матрицу в RStan.

Аналогично тому, как вы можете задать ограничения для скалярных и векторных значений, например, На самом деле, я хотел бы предоставить ограничения, что начальная диагональ ковариационной матрицы должна быть положительной, но недиагональные компоненты могут принимать любое действительное значение.

Есть ли способ обеспечить, чтобы матрица также была положительной полуопределенной? В противном случае некоторые из полученных образцов не будут действительными ковариационными матрицами.

1 Ответ

0 голосов
/ 20 июня 2019

Да, определение

cov_matrix[K] Sigma;

гарантирует, что Sigma является симметричной и положительно определенной матрицей K x K.Это может привести к полуопределенности из-за числа с плавающей запятой, но мы поймем это и создадим исключения, чтобы гарантировать, что оно остается строго положительно определенным.

Под капотом Стен использует преобразование фактора Холецкого - неограниченное представлениенижняя треугольная матрица с положительной диагональю.Мы просто используем это в качестве реальных параметров, затем преобразуем и применяем якобиан неявно под капотом, как описано в главе справочного руководства по ограниченным переменным , чтобы создать ковариационную матрицу с неявным (неправильным) единообразным априорным значением.

...