[Eeglablist] ICs with identical topographies
Radu Ranta
radu.ranta at ensem.inpl-nancy.fr
Mon Sep 12 05:53:10 PDT 2011
Yes, this should be the right procedure.
Suppose you have 64 raw channels. When you take the average reference
(ie you subtract the average from all 64 channels) you will still have
64 signals, but the rank will be 63. Adding the reference back to the
data will increase the number of signals to 65 and the rank back to 64.
So you will still have a 0 singular value, but 64 instead of 63 non-null
values.
Hope his helps, like Arno is saying :)
Radu
Le lundi 12 septembre 2011 à 14:30 +0200, Maximilien Chaumon a écrit :
> Thank you Randu,
>
> So, should I do my rereferencing step like this?
> I first compute the average M of my data across sensors, then
> rereference the data using an average reference, then add the M data
> as a new sensor. Is this correct?
>
> Av = mean(EEG.data);
>
> EEG = pop_reref( EEG, []);
>
> EEG.data(end+1,:) = Av(:);
> EEG.nbchan = size(EEG.data,1);
> EEG.chanlocs(end+1).label = 'AveRef';
>
> I don't really understand how adding another channel that is the
> average of all others will increase the rank of the data. And the
> result of svd(reshape(EEG.data,EEG.nbchan,EEG.trials*EEG.pnts)) does
> not change (except adding one point at the end, very close to zero).
>
> Sorry to bug you with this, but I just want to be sure I'm doing it
> right.
>
> Thanks,
> Max
>
>
>
>
>
> 2011/9/12 Radu Ranta <radu.ranta at ensem.inpl-nancy.fr>
> Hi Max,
>
> As a complement of information to what Scott was saying,
> re-referencing
> to the average without keeping the reference (i.e. the
> average) makes
> the rank of your data even smaller (basically, the sum of all
> your
> channels except the reference will be 0, that is you can
> always write
> one of them as -(sum of all others)). You might want to take a
> look at
> this paper, which suggests a which is the "best"
> re-referencing before
> ICA: "EEG montage analysis in the Blind Source Separation
> framework" (Salido-Ruiz et al, Biomedical Signal Processing
> and Control
> 6(1), 2011).
>
> Radu
>
> Le jeudi 08 septembre 2011 à 15:02 +0200, Maximilien Chaumon a
> écrit :
>
> > I think I found at least part of the solution to my problem:
> > I keep the reference channel (in my case an average of all
> electrodes)
> > in the dataset. This seems to reduce the rank of the data
> (the svd
> > vector drops close to zero on the last value). I think I get
> an
> > intuition of why it does so, but how am I supposed to do?
> > Overall, I've checked, the subjects on which I removed one
> or more bad
> > channels (after rereferencing) are fine. Their ICA looks
> nice, and the
> > svd values do not drop close to zero on the last value.
> > The problem is for those for whom I did not remove any bad
> channel.
> > Their ICA shows the symptoms shown on my last email, below.
> >
> > So my questions end up being:
> > Do I have to reference my data to one electrode and not
> include it in
> > the ICA? and if so, why would anyone use an average
> reference before
> > ICA? what is recommended? I can't find anything about
> referencing the
> > data in the tutorial.
> >
> > Thanks,
> > Max
> >
> > 2011/9/7 Maximilien Chaumon <maximilien.chaumon at gmail.com>
> > Hi eeglabbers,
> >
> > I am still having issues with ICA returning
> extremely similar
> > (but not identical) topographies. The gui (although
> I run a
> > version updated a few days ago) does not popup any
> suggestion
> > to reduce the rank. I only get this warning
> (Warning: fixing
> > rank computation inconsistency (68 vs 69) most
> likely because
> > running under Linux 64-bit MatlabAttempting to
> convert data
> > matrix to double precision for more accurate ICA
> results.) I
> > still get 69 components in the end.
> >
> > Here's some more info:
> > the rank of the data is 68. The svd drops abruptly
> close to
> > zero at the last value. I have 69 electrodes (64
> heancap +
> > 3EOG+2mastoids). I guess there's a gel bridge
> somewhere.
> > Although correlations between all electrodes don't
> reach .95.
> > When I let the ICA run with default options, I still
> get these
> > two components (always 'P3 like' components, this
> was
> > reproduced in other subjects). Their frequency
> profiles are
> > too good to be true, with low noise and a peak at
> 10Hz,
> > another one around 20Hz, see the figure. I would
> leave them
> > alone if they were not spoiling all my data: As I
> remove the
> > components, when I click this 'singles' button,
> which shows me
> > the trial by trial time course. I get what is shown
> on the
> > right of the figure. High frequency bursts appearing
> every now
> > and then, usually at times where there is high
> variability
> > across channels.
> > Removing both components resolves the issue, but I
> loose a
> > rather important part of the data.
> > Here is the spectopo at 60Hz. There is a strong
> artefact here.
> > The two components show a high power at all
> frequencies.
> > How could frequencies that do not exist in the input
> be
> > created by the ICA? I filter my data, before ICA
> below 45Hz.
> >
> > I tried running fastica, asking for 68 components,
> no such
> > artifact appears but the decomposition looks much
> less nice,
> > at least with the parameters I've used.
> >
> > So in the end, my question is:
> > How can I run an ICA without trouble if the rank of
> the data
> > is not equal to the number of electrodes? How can I
> identify
> > potentially gel bridged electrodes?
> >
> > Many thanks,
> > Max
> >
> >
> >
> >
> > 2011/8/27 Arnaud Delorme <arno at ucsd.edu>
> > Regarding the matrix rank, we have recently
> realized
> > that the rank function (and other rank
> function we had
> > programmed) are not fully reliable which is
> probably
> > with Max observes the component he observes.
> The
> > runica function should automatically
> decrease the rank
> > of the input data matrix. However, sometimes
> it does
> > not use the correct rank. We have modified
> the runica
> > GUI so that if the matrix is not full rank,
> it now
> > pops up a new window suggesting to the user
> a rank
> > reduced value. This value may be adjusted by
> the user
> > based on prior knowledge. For instance, if
> you have
> > removed 5 components from the data, you
> would reduce
> > the rank by 5 (and overwrite the rank that
> is
> > automatically detected if it is not
> correct).
> >
> >
> > Arno
> >
> >
> > On Aug 23, 2011, at 10:11 PM, John J.B.
> Allen wrote:
> >
> > > Max
> > >
> > >
> > > I have observed that when the data are not
> full
> > > rank. You can test the rank of your data
> by
> > > reshaping your epoched data to a 2D
> matrix, and
> > > running the rank command, like this:
> > >
> > >
> > >
> rank(reshape(EEG.data,EEG.nbchan,EEG.trials*EEG.pnts))
> > >
> > >
> > > When I did this, your rank is 63, but you
> have 69
> > > channels, indicating that some channels
> are linearly
> > > dependent on others. I think this is the
> source of
> > > your problem, and if you remove those
> channels
> > > before running ICA, you should no longer
> see this
> > > issue.
> > >
> > >
> > > Best
> > >
> > >
> > > John
> > >
> > >
> > >
> > >
> > >
> > >
> > > On Tue, Aug 23, 2011 at 07:24, Maximilien
> Chaumon
> > > <maximilien.chaumon at gmail.com> wrote:
> > > Hi eeglabbers,
> > >
> > > I sometimes get ICs with extremely
> similar
> > > topographies and time courses,
> like on this
> > > slide.
> > > I know that ICA returns
> independent
> > > components.
> > > Does that not mean that they
> should not look
> > > the same?
> > > I know the components are
> independent in a
> > > statistical sense, which is not
> the same as
> > > uncorrelated, but still. I'm a bit
> > > surprised. What do these two
> components mean
> > > if they cancel one another? well,
> do they?
> > >
> > > Sorry if my question is naive, but
> what is
> > > happening?
> > >
> > > The data is here.
> > >
> > > Best,
> > > Max
> > >
> > >
> _______________________________________________
> > > 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
> > >
> > >
> > >
> _______________________________________________
> > > 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
> >
> >
> >
> >
> >
> > _______________________________________________
> > 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
>
>
> --
> ______________________________________________________________________
> E-mail : Radu.Ranta at ensem.inpl-nancy.fr
>
> Radu RANTA
> Nancy Université/INPL - ENSEM - CRAN
> 2, Avenue de la Forêt de Haye Tel :
> +33.(0)3.83.59.57.09
> F-54516 VANDOEUVRE-LES-NANCY Fax :
> +33.(0)3.83.59.56.44
> FRANCE
> ______________________________________________________________________
>
>
>
--
______________________________________________________________________
E-mail : Radu.Ranta at ensem.inpl-nancy.fr
Radu RANTA
Nancy Université/INPL - ENSEM - CRAN
2, Avenue de la Forêt de Haye Tel : +33.(0)3.83.59.57.09
F-54516 VANDOEUVRE-LES-NANCY Fax : +33.(0)3.83.59.56.44
FRANCE
______________________________________________________________________
More information about the eeglablist
mailing list