我遇到了一个问题,我必须能够在 Java 中生成一组随机选择的多元正态分布的数字,均值为 0 和给定的 3*3 方差-协方差矩阵。

有没有简单的方法来做到这一点?

最佳答案

1)按照 Dima 的建议使用库实现。

或者,如果你真的觉得有必要自己做这件事:

2) 假设您想用均值 vector M 和方差/协方差矩阵 V 生成法线,对 V 执行 Cholesky Decomposition 以得出下三角矩阵 L,使得 V=LLt(其中上标 t 表示转置)。生成三个独立标准法线的 vector Z(使用 Random.nextGaussian() 获取单个元素)。然后 LZ + M 将具有所需的多元正态分布。

关于java - 随机多元正态分布,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27823738/

10-09 01:49