I want to detect periodic components in EEG channels using Periodic Component Analysis. I describe briefly the procedure because the algorithm is not very well-known.
I minimize periodicity error function: error(τ)= E[s(t+τ) -s(t)] / E[s(t)^2]
, where τ
is the time lag. If I define matrices A(τ)
, C
, error(τ)=(w'*A(τ)*w)/(w'*C*w) = Rayleigh(A(τ), C, w)
.
So, it's minimum value is the smallest generalized eigenvalue of (Α(τ)
, C
), for a certain time lag τ.
I run piCA
for a range of time lags and usually I detect the periods of the periodic components at the local minimums of the minimized error function(using the smallest generalized eigenvalues).
[E,W]=piCA( Xeeg, [minlag maxlag], 'pre', [1 1 1]);
which gives the tranformation matrix W
and the matrix E
of the generalized eigenvalues of all the pairs (A[τ]
,C
).
Is it possible to detect the correct periodic components, at the local minimums of NOT the function calculated with the smallest eigenvalues BUT with the second smallest eigenvalues??
See the image below:
The green line is obviously the minimum error function for all time lags but it has no local minimums!!! So, results can only arise from the blue line function, which is calculated using the second smallest eigenvalues. :/