独立随机变量转换为相关随机变量的问题。

6 vues (au cours des 30 derniers jours)
vanewe
vanewe le 18 Nov 2022
Réponse apportée : hehidi le 18 Nov 2022
我想实现的目的是将两相关独立标准正态随机变量转换为给定相关系数的相关正态随机变量。将给定的相关系数矩阵进行乔里斯基分解可获取其下三角矩阵,然后将下三角矩阵乘以两独立标准正态随机变量所组成的矩阵可获取对应的相关随机变量。但是我用matalab计算生成的两列相关变量的相关系数(r(i)=min(min(corrcoef(y11(:,i),y22(:,i))))),发现与原给定的相关系数不一致(给定的相关系数是-0.4179,检验出的相关系数是-0.72左右),不知道问题出在哪,请做过相关计算的高手指点!
程序:
clear;clc;
y1 = load('jfric_normal.txt');
y2 = load('coh_normal.txt');
[m,n]=size(y1);
rhoX1=[1,-0.4179;-0.4179,1];
L=chol(rhoX1);
L1=L';
for j=1:n
for i=1:m
y11(i,j)=L1(1,1)*y1(i,j)+L1(2,1)*y2(i,j);
y22(i,j)=L1(2,1)*y1(i,j)+L1(2,2)*y2(i,j);
end
end
%%检验生成相关变量的相关系数
for i=1:n
r(i)=min(min(corrcoef(y11(:,i),y22(:,i))));
end

Réponse acceptée

hehidi
hehidi le 18 Nov 2022
原来是自己大意了:L, y11(i,j)=L1(1,1)*y1(i,j)+L1(2,1)*y2(i,j);应该为 y11(i,j)=L1(1,1)*y1(i,j)+L1(1,2)*y2(i,j);改后计算结果就很接近了

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!