2017-02-25 20 views
1

我試圖生成多個相關的隨機數用下面的代碼:如何使用MultivariateNormalDistribution類創建多個相關的隨機數字?

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

不幸的是,在幾個程後,我不得不意識到,我得到的不是在所有相關的數字。協方差矩陣似乎不影響分佈。

有什麼辦法可以誤解我的方法,有人可以解釋如何正確使用方法嗎?

AMK, 賈馬爾

回答

0

令x具有多變量高斯分佈,均值爲0,方差= I其中I是其中m = x的維數的m維單位矩陣。設S是一個正定矩陣,令L是一個下三角矩陣,使得L。 (即L是S的喬列斯基分解)然後L x是多元高斯分佈,其均值爲0且協方差爲S.

如果向L x添加任何向量mu,則mu + L x具有均值μ和協方差S的高斯分佈。

來自具有均值0和協方差= I的m維高斯的樣本僅僅是列表(x_1,...,x_m),其中每個x_i是一維高斯均值爲0,方差爲1.