[Eeglablist] Rank Deficiency Error on Select Few Subjects

Cedric Cannard ccannard at protonmail.com
Thu Mar 21 13:16:44 PDT 2024


Hi Olivia,

How many electrodes, and did you possible remove a lot of channels for these subjects and inteprolated them before ICA, without applying PCA-dimension to take the effective rank defficiency into account? You say you lowered the "desired ICA components to 20, but your weight matrix could still be rank-deficient if you have for example 30 channels and removed (and interpolated) 15 channels. 

Also, are these potentially dry electrodes with bad impedance, or wet electrodes possibly bridged by the gel in some areas? You can check this by running correlations between neighboring electrodes. 

The fact that you only see this when using bandpass filter might be that you are rejecting more electrodes after filtering? What method are you using to remove bad channels? 

You can calculate the data rank (for both scenarios) with:
dataRank = sum(eig(cov(double(EEG.data')))>1E-7);  % for continuous data
% dataRank = sum(eig(cov(double(EEG.data(:,:)'))) > 1E-7); % for epoched data

Then run ICA with PCA dimension reduction: 
EEG = pop_runica(EEG,'icatype','runica','extended',1,'pca',dataRank);

Or do you have possibly less time samples than channels? this could potentially be a cause too. 


Cedric



On Thursday, March 21st, 2024 at 11:48 AM, Olivia Rowe via eeglablist <eeglablist at sccn.ucsd.edu> wrote:

> Hi all,
> 
> We are using an EEGLab pipeline to analyze 30 subjects who underwent the same recording protocol. However, we have a subset of recordings (n=7) which fail during ICA decomposition due to the following error: “Quitting – weight matrix may not be invertible. This is not a bug.” We have narrowed down the issue to the high pass filter step (i.e., if we include all other steps of preprocessing except high pass filter, ICA runs to completion). Expanding the bandpass filter, originally .1-100 Hz, to 2-100 Hz doesn’t help. It also does not seem to be an error in re-referencing or other artifact removal steps. Additionally, given our 30-channel recording, we tried manually lowering the desired ICA components to 20, but were still rank deficient. Thanks in advance for any help!
> 
> -Olivia
> 2:41<https://urldefense.com/v3/__https://cognito-team.slack.com/archives/D05STQ15N82/p1710960081719099__;!!Mih3wA!E06DAWC6A3SI67h3rmWzhw8MX-b_jX-hFpHAxNCo08N_MNm0EWIjdoi9SbTwOUcWD2yUK1XUu-PDjGLMHCsHeQ$ >
> 
> _______________________________________________
> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
> To unsubscribe, send an empty email to eeglablist-unsubscribe at sccn.ucsd.edu
> For digest mode, send an email with the subject "set digest mime" to eeglablist-request at sccn.ucsd.edu


More information about the eeglablist mailing list