Я пытаюсь исследовать статистическую дисперсию собственных значений выборочных ковариационных матриц, используя Matlab. Для пояснения: каждая выборочная ковариационная матрица строится из конечного числа векторных снимков (со случайным белым гауссовским шумом). Затем в течение большого количества испытаний генерируется большое количество таких матриц, которые разлагаются на собственные значения для оценки теоретической статистики собственных значений.
Согласно нескольким источникам (см., например, [1, формула 3] и [2, формула 11]), дисперсия каждого собственного значения выборки должна быть равна теоретической< /strong> квадрат собственного значения, разделенный на количество моментальных снимков вектора, используемых для каждой ковариационной матрицы. Однако результаты, которые я получаю от 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] Фридлендер, Б.; Вайс, А.Дж.; , "О статистике второго порядка собственных векторов выборочных ковариационных матриц", Signal Processing, IEEE Transactions on , vol.46, no.11, pp.3136-3139, ноябрь 1998 г. [2] Kaveh, M.; Барабель, А .; , "Статистические характеристики алгоритмов MUSIC и минимальной нормы при разрешении плоских волн в шуме, "Акустика, обработка речи и сигналов", IEEE Transactions on , том 34, № 2, стр. 331-341, апрель 1986 г.
b = lambda - lambda_th(:,ones(1,Ntrials)); Rbb = b*b'/Ntrials
этого не делает, он вычисляет матрицу дисперсии-ковариации разницы между оценками и теоретическими значениями. - person A. Donda   schedule 15.10.2013