我正在使用奇异值分解(SVD)应用于时间序列的奇异谱分析(SSA)。
% original time series
x1= rand(1,10000);
N = length(x1);
% windows for trajectory matrix
L = 600;
K=N-L+1;
% trajectory matrix/matrix of lagged vectors
X = buffer(x1, L, L-1, 'nodelay');
% Covariance matrix
A = X * X' / K;
% SVD
[U, S_temp, ~] = svd(A);
% The eigenvalues of A are the squared eigenvalues of X
S = sqrt(S_temp);
d = diag(S);
% Principal components
V = X' * U;
for i = 1 : L
V(:, i) = V(:, i) / d(i);
end
我想知道是否有办法让奇异分量(即V列)始终为正。
X总是>在我的情况下为0(以及协方差矩阵A)