1. 程式人生 > >Cholesky矩陣實現相關變數和不相關變數的轉換

Cholesky矩陣實現相關變數和不相關變數的轉換

給定一個協方差矩陣 Σ, 其可以唯一的分解為點乘形式:

Σ=UTU
其中U是上三角矩陣。

幾何上講,Cholesky矩陣將無相關的變數轉換為由Σ給定的方差和協方差的相關變數。特別的,如果產生了p個標準正態分佈的變數,Cholesky轉換將這些變數對映為多元正態分佈(其協方差矩陣為Σ,中心在原點(表示為MVN(0,Σ)))

在高斯過程的例子中,我們通過下面的形式形成高斯分佈資料點:

n1 = 80;
n2 = 40;
S1 = eye(2);
S2 = [1 0.95 ;0.95 1];% 兩個協方差矩陣

m1 = [0.75;0];
m2 = [-0.75;0]; %兩個均值

x1 = bsxfun
(@plus,chol(S1)'*gpml_randn(0.2,2,n1),m1); x2 = bsxfun(@plus,chol(S2)'*gpml_randn(0.3,2,n2),m2); x = [x1 x2]'; y = [-ones(1,n1) ones(1,n2)]'; plot(x1(1,:),x1(2,:),'b+'); hold on; plot(x2(1,:),x2(2,:),'r+'); % check cov1 = cov(x1'); cov2 = cov(x2');