【问题标题】:Covariance matrix in RStanRStan中的协方差矩阵
【发布时间】:2019-06-19 15:54:20
【问题描述】:

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

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

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

【问题讨论】:

  • 欢迎来到 SO。您应该提供一些代码来显示您尝试过的内容和数据样本,以便我们可以看到您正在使用什么。事实上,这是一个更适合另一个 stackexchange 站点的问题。
  • 我认为这个问题可以在这里发布,因为它是关于代码的。以后我会提供一些代码和数据。关于问题:cov_matrix[q] 定义了一个(q x q) 对称正定协方差矩阵,corr_matrix[q]: 定义了一个(q x q) 相关矩阵。
  • 对角线条目是方差,它们总是正数。没有?
  • 非对角项是协方差,可以是负数。我之前的评论解决了我的问题。

标签: r rstan


【解决方案1】:

是的,定义

cov_matrix[K] Sigma;

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    • 1970-01-01
    • 2017-12-26
    • 1970-01-01
    • 2020-04-13
    • 2014-03-06
    • 1970-01-01
    相关资源
    最近更新 更多