【问题标题】:How to create multiple correlated random numbers using MultivariateNormalDistribution class?如何使用 MultivariateNormalDistribution 类创建多个相关随机数?
【发布时间】:2017-07-16 15:25:16
【问题描述】:

我尝试使用以下代码生成多个相关随机数:

MultivariateNormalDistribution mnd = new MultivariateNormalDistribution(means,    
covariances);
double vals[] = mnd.sample();

不幸的是,经过几次运行后,我不得不意识到我得到的数字根本不相关。协方差矩阵似乎不会影响分布。

有什么方法我可能误解了该方法,有人可以解释如何正确使用该方法吗?

阿姆克, 贾马尔

【问题讨论】:

    标签: java math statistics


    【解决方案1】:

    令 x 具有均值为 0 且协方差 = I 的多元高斯分布,其中 I 是 m 维单位矩阵,m = x 的维数。令 S 为正定矩阵,令 L 为下三角矩阵,使得 L 。 transpose(L) = S。(即L是S的Cholesky分解。)则L x 是均值为0,协方差为S的多元高斯分布。

    如果将任何向量 mu 添加到 L x,则 mu + L x 具有均值 mu 和协方差 S 的高斯分布。

    均值为 0 且协方差 = I 的 m 维高斯样本只是一个列表 (x_1, ..., x_m),其中每个 x_i 都是均值为 0 且方差为 1 的一维高斯。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-21
      • 1970-01-01
      • 2018-06-10
      • 2023-02-06
      • 2013-06-06
      • 2020-01-10
      • 1970-01-01
      相关资源
      最近更新 更多