[Eeglablist] Rank deficiency problem with ICA run on re-referenced data to the average of the temporal channels

Scott Makeig smakeig at gmail.com
Thu May 6 18:46:04 PDT 2021

Isil -

The problem is  that TP9 referenced to (TP9+TP10)/2 gives TP9/2 - TP10/2
 whereas TP10 referenced to (TP9+TP10)/2 gives TP10/2 - TP9/2
These two new channels are just opposites of each other...
so they do not both contribute 1 to the rank.

I would recommend using average reference. Any referencing scheme amounts
to applying a spatial filter, and average reference can be the most stable
certain assumptions). It is used to perform source localization, for

If you want to analyze the individual scalp channels after referencing
(rather than
their independent component signals, which I would recommend), there are
average reference schemes that attempt to improve the stability based on an
electrical head model (though not an individual head model and still making
assumptions) - one has an EEGLAB plug-in, I believe.

One beauty of ICA is that the brain sources it reveals are reference free --
that is, their activities do not depend on the choice of common reference.
scalp projections (scalp maps) do, of course - but their implied source
locations do not!

The scalp channel data are not the data of interest for neuroscience - the
source data are!

Scott Makeig

On Thu, May 6, 2021 at 9:32 PM Isil Bilgin via eeglablist <
eeglablist at sccn.ucsd.edu> wrote:

> Dear EEGLAB members,
> I am running an ICA on my EEG data collected with 64 channels (63 + 1 ECG)
> but I am getting a message that says "EEGLAB has detected that the rank of
> your data matrix is lower the number of input data channels. This might be
> because you are including a reference channel or because you are running a
> second ICA decomposition. The proposed dimension for ICA is 62 (out of 63
> channels). Rank computation may be inaccurate so you may edit this number
> below. If you do not understand simply press OK." with a text box asking
> for the input for the proposed rank that is written 62 on it currently. And
> when I run the ICA with this default, I get 62 ICA components as expected.
> I know from previous messages here
> https://sccn.ucsd.edu/pipermail/eeglablist/2013/007062.html and Makoto's
> explanation here
> https://sccn.ucsd.edu/wiki/Makoto's_preprocessing_pipeline
> there are several reasons that might cause this. In order to find out I run
> ICA each time separately for each preprocessing steps and I found out
> re-referencing the data to TP9 and TP10 channels (for the further N400
> analysis as recommended in the literature) results in such rank deficiency.
> So I was wondering would it be a problem in the future for the source
> localisation of the data or ERP estimations and if does how can I avoid the
> problem occurring?
> I would really appreciate any suggestions on this problem, please.
> Kind regards,
> Isil Bilgin
> _______________________________________________
> 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

Scott Makeig, Research Scientist and Director, Swartz Center for
Computational Neuroscience, Institute for Neural Computation, University of
California San Diego, La Jolla CA 92093-0559, http://sccn.ucsd.edu/~scott

More information about the eeglablist mailing list