RStan 中的协方差矩阵

Covariance matrix in RStan

我想在 RStan 中定义一个协方差矩阵。

类似于如何为标量和向量值提供约束,例如real a,我想提供协方差矩阵的前导对角线必须为正的约束,但非对角线分量可以取任何实数。

有没有办法强制矩阵也必须是半正定的?否则,产生的一些样本将不是有效的协方差矩阵。

是的,正在定义

cov_matrix[K] Sigma;

确保Sigma是对称且正定的K x K矩阵。由于浮点数,它可以减少为半定的,但我们会捕捉到它并引发异常以确保它保持严格的正定。

在幕后,Stan 使用了 Cholesky 因子变换——无约束表示是具有正对角线的下三角矩阵。我们只是将其用作实际参数,然后按照 reference manual chapter on constrained variables 所述在幕后隐式地转换和应用雅可比矩阵,以创建具有隐式(不正确的)均匀先验的协方差矩阵。