我正在尝试使用MATLAB研究样品协方差矩阵特征值的统计方差。为了澄清,每个示例协方差矩阵都是由有限矢量快照的数量(患有随机的白色高斯噪声)构建的。然后,通过大型试验数,为了估算特征值的理论统计信息。
根据几个来源(例如,参见[1,eq.3]和[2,eq.11]),每个 sample eigenvalue的方差应等于该理论特征值平方除以每个协方差矩阵使用的向量快照数。但是,我从MATLAB获得的结果甚至还没有接近。
这是我的代码问题吗?和matlab?(我从来没有解决过类似问题的困难)。
这是一个非常简单的示例:
% Data vector length
Lvec = 5;
% Number of snapshots per sample covariance matrix
N = 200;
% Number of simulation trials
Ntrials = 10000;
% Noise variance
sigma2 = 10;
% Theoretical covariance matrix
Rnn_th = sigma2*eye(Lvec);
% Theoretical eigenvalues (should all be sigma2)
lambda_th = sort(eig(Rnn_th),'descend');
lambda = zeros(Lvec,Ntrials);
for trial = 1:Ntrials
% Generate new (complex) white Gaussian noise data
n = sqrt(sigma2/2)*(randn(Lvec,N) + 1j*randn(Lvec,N));
% Sample covariance matrix
Rnn = n*n'/N;
% Save sample eigenvalues
lambda(:,trial) = sort(eig(Rnn),'descend');
end
% Estimated eigenvalue covariance matrix
b = lambda - lambda_th(:,ones(1,Ntrials));
Rbb = b*b'/Ntrials
% Predicted (approximate) theoretical result
Rbb_th_approx = diag(lambda_th.^2/N)
参考:
[1]弗里德兰德,b。Weiss,A.J。;,"样品协方差矩阵的特征向量的二阶统计",信号处理,IEEE交易,第46卷,第11期,第3136-3139页,1998年11月[2] Kaveh,M。;Barabell,A。;,"音乐的统计性能和在噪声中解决平面波中的最小值算法",声学,语音和信号处理,IEEE交易,第34卷,第2卷,第2期,第331-341页,1986年4月,
根据您的第一个参考的摘要:
"特征向量的二阶统计的公式已在统计文献中得出,并被广泛使用。我们指出,由于定义的定义非独立性,在数值模拟中观察到的统计数据之间存在差异我们提出了解决此差异的两种方法。第一个涉及修改理论公式以匹配计算结果。第二个涉及对计算的简单修改,以使它们匹配现有公式。"
> 。听起来像是存在差异,听起来也像是两个"解决方案"是hacks,但是如果没有实际纸,很难提供帮助。