我想在RStan中定义协方差矩阵。
类似于如何为标量和向量值提供约束,例如关于实数,我想提供一些约束条件,即协方差矩阵的前导对角线必须为正,但是非对角线分量可以采用任何实数值。
是否有一种方法可以强制矩阵也必须为正半定数?否则,生成的某些样本将不是有效的协方差矩阵。
答案 0 :(得分:0)
是的,定义
cov_matrix[K] Sigma;
确保Sigma
是对称和正定K x K
矩阵。由于浮点,它可以减少到半定值,但是我们会抓住这一点并提出异常,以确保它严格保持正定值。
在引擎盖下,Stan使用Cholesky因子变换-无约束表示是具有正对角线的下三角矩阵。我们只是将其用作真实参数,然后按照reference manual chapter on constrained variables所述在引擎盖下隐式转换和应用Jacobian,以创建具有隐式(不正确)统一先验的协方差矩阵。