Оценка дисперсии собственных значений выборочных ковариационных матриц в Matlab

Я пытаюсь исследовать статистическую дисперсию собственных значений выборочных ковариационных матриц, используя 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 г.


person Harry    schedule 03.11.2012    source источник
comment
Где вы на самом деле вычисляете дисперсию оценочных собственных значений? b = lambda - lambda_th(:,ones(1,Ntrials)); Rbb = b*b'/Ntrials этого не делает, он вычисляет матрицу дисперсии-ковариации разницы между оценками и теоретическими значениями.   -  person A. Donda    schedule 15.10.2013


Ответы (1)


Согласно реферату из вашей первой ссылки:

«Формулы для статистики второго порядка собственных векторов были выведены в статистической литературе и широко используются. Мы указываем на несоответствие между статистикой, наблюдаемой в численном моделировании, и теоретическими формулами из-за неоднозначности определения собственных векторов. Мы представляем два способа устранения этого несоответствия. Первый включает в себя модификацию теоретических формул, чтобы они соответствовали результатам вычислений. Второй включал простую модификацию вычислений, чтобы они соответствовали существующим формулам».

Похоже, есть несоответствие, и это также звучит так, как будто два «решения» — это хаки, но без доступа к фактической статье трудно помочь.

person Jimmy    schedule 03.11.2012
comment
Это относится к собственным векторам (которые немного сложны, потому что они не уникальны). Однако я смотрю только на собственные значения, для которых нет расхождений. Я попытаюсь отредактировать исходный пост, чтобы ссылки были ссылками на документы. - person Harry; 04.11.2012