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

19 ビュー (過去 30 日間)
vanewe
vanewe 2022 年 11 月 18 日
回答済み: hehidi 2022 年 11 月 18 日
我想实现的目的是将两相关独立标准正态随机变量转换为给定相关系数的相关正态随机变量。将给定的相关系数矩阵进行乔里斯基分解可获取其下三角矩阵,然后将下三角矩阵乘以两独立标准正态随机变量所组成的矩阵可获取对应的相关随机变量。但是我用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

採用された回答

hehidi
hehidi 2022 年 11 月 18 日
原来是自己大意了: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);改后计算结果就很接近了

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!