统计数理懂的不多,请教数理统计知识
生成多元正态分布随机数的时候,
先生成协方差矩阵sigma,再对协方差矩阵sigma分解to determine the matrix root of sigma(查得分解方法有三种, eigenvalue decomposition
("eigen", default), singular value decomposition ("svd"), and Cholesky decomposition ("chol"))。
为什么要分解而不直接用协方差矩阵呢?生成一元正态分布的时候,直接是mean+sigma*rannorm()
例如:生成1000组相关系数均为0.3的服从多元正态分布的随机向量(X,Y,Z),其中随机变量X~N(0,1),y~N(10,2),Z~ N(20,3)。
SAS程序:
proc iml;
R={1.00 0.30 0.30,
0.30 1.00 0.30,
0.30 0.30 1.00};
S={1 0 0,
0 2 0,
0 0 3};
sigma=S*R*S;
u={0,10,20};
do i=1 to 1000;
z1=RANNOR(0);
z2=RANNOR(0);
z3=RANNOR(0);
C=root(sigma);
xi=C`*(z1//z2//z3)+u;
/*为什么要先求C,而不是直接用sigma?*/
m=m//xi`;
......