How can I generate data from multivariate normal distribution?
3 Answers
0
Use the GAUSS function rndMVn to create random multivariate normal numbers. Here is a quick example:
cov = { 1 0.3, 0.3 1 }; m = { 0, 0 }; x = rndMVn(10, m, cov);
It will assign x to something similar to:
0.13556258 0.70364339 1.3377170 1.7658075 0.45610105 1.0462764 0.80858336 0.61191143 -0.12203310 1.1235922 -0.33557195 -1.1784729 0.64867047 0.64239651 -1.3486377 -0.35377445 0.25183689 -0.38000242 1.4196805 2.1463587
Note that the mean, m, must be specified for each column. If you at some point need multivariate t distributed numbers, you can use rndMVt
0
I dont have that function because i'm using Gauss 9.0. I also have GaussX.
0
cov = { 1 0.3, 0.3 1 }; m = { 0, 0 }; x = rndn(10,2); x1 = x * chol(cov) + m';
Your Answer
3 Answers
Use the GAUSS function rndMVn to create random multivariate normal numbers. Here is a quick example:
cov = { 1 0.3, 0.3 1 }; m = { 0, 0 }; x = rndMVn(10, m, cov);
It will assign x to something similar to:
0.13556258 0.70364339 1.3377170 1.7658075 0.45610105 1.0462764 0.80858336 0.61191143 -0.12203310 1.1235922 -0.33557195 -1.1784729 0.64867047 0.64239651 -1.3486377 -0.35377445 0.25183689 -0.38000242 1.4196805 2.1463587
Note that the mean, m, must be specified for each column. If you at some point need multivariate t distributed numbers, you can use rndMVt
I dont have that function because i'm using Gauss 9.0. I also have GaussX.
cov = { 1 0.3, 0.3 1 }; m = { 0, 0 }; x = rndn(10,2); x1 = x * chol(cov) + m';