Multivariate normal value standardization

5 views (last 30 days)
Bogdan Potanin
Bogdan Potanin on 13 Feb 2016
Edited: Bogdan Potanin on 13 Feb 2016
I am wonder wheather matlab approach to multivariate normal value standardization is correct.
Normal standard multivariate distribution of $q$ variables is $z\sim N_q(0_q,I_q)$. I have found that $Bx\sim N_q(Ba,B\Sigma B^T)$ and based on this fact normalization could be performed throught two ways:
1) Substracting mean vector and then taking $B=\Sigma^{-0.5}$ (as it gives $\Sigma^{-0.5} \Sigma (\Sigma^{-0.5})^T=I_q$) we get normalized value: $z=\Sigma^{-0.5}(x-a)$.
2) Using Cholesky decomposition $\Sigma=U^TU$ we get normalization rule $z=(U^T)^{-1}(x-a)$
But both strategies does not work in matlab. So you can check it using matlab code below:
MU=[0.1333,-0.1];
SIGMA=[0.95,0.19;0.19,0.97];
x=[0.5, 0.7];
mvncdf(x,MU,SIGMA)
z=(SIGMA^(-0.5))*transpose(x-MU);
mvncdf(z)
z=transpose(chol(SIGMA))^(-1)*transpose(x-MU);
mvncdf(z)
According to approaches all three values must be equal but they are not and the difference is very huge for some examples.
So is it something wrong with my code, with standardization approach or to matlab? In other words why results before and after standardization are differ?
Will be very greatful for help!

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!