我尝试使用以下代码生成多个相关的随机数:
MultivariateNormalDistribution mnd = new MultivariateNormalDistribution(means,
covariances);
double vals[] = mnd.sample();
不幸的是,经过几次运行后我不得不意识到我得到的数字根本没有相关性。协方差矩阵似乎不会影响分布。
有什么方法可以误解方法,有人可以解释如何正确使用该方法吗?
AMK, 贾马尔
答案 0 :(得分:0)
令x具有多元高斯分布,其中均值为0且协方差= I,其中I是m维单位矩阵,其中m = x的维数。设S是正定矩阵,并且让L为下三角矩阵,使得L。转置(L)= S.(即,L是S的Cholesky分解。)然后L x是多元高斯分布,均值为0,协方差为S.
如果将任意向量mu添加到L x,则mu + L x具有高斯分布,具有平均μ和协方差S.
来自m维高斯的样本,其均值为0且协方差= I只是一个列表(x_1,...,x_m),其中每个x_i是1维高斯,平均值为0,方差为1。