【问题标题】:Sample from Multivariate normal distribution using Boost使用 Boost 从多元正态分布中采样
【发布时间】:2012-04-04 09:11:16
【问题描述】:

我可以在 c++ 中使用 Boost 从正态分布中采样。

我现在有一个简单的问题:

如何使用 Boost 函数(正态分布、多数组...)从多元正态分布 (n>2) 中采样?

【问题讨论】:

  • 我从来没有做过这种事情,但this 可能会有所帮助...
  • 到底是什么问题?您可以使用给定的均值和变体简单地为每个轴生成正态分布。 (如果不相关)
  • 如果它们是相关的呢???

标签: c++ boost normal-distribution multivariate-partition


【解决方案1】:

我认为如果没有一点线性代数,您将无法做到这一点。实际上,如果您有一个协方差矩阵 C,您可以使用 Cholesky Decomposition 生成一个上三角矩阵 L,使得 C = L*L^T。该矩阵 L 现在可用于从具有协方差 C 的分布中生成样本,方法是将 L 应用于不相关噪声的向量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    • 1970-01-01
    • 2019-01-19
    • 2020-12-18
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多