# [Eeglablist] Computing a second ICA on a dataset (Conny Kranczioch)

Scott Makeig smakeig at gmail.com
Fri Nov 14 10:46:48 PST 2008

```Conny and all -

The difference is whether you run a 2nd ICA after removing time points, or
after removing components. It makes little sense to attempt a 2nd ICA after
removing components, since the remaining ones are already maximally
independent.

Of course, one might choose to run a 2nd ICA on the data after removing
*both* (noisy or otherwise unwanted) time points and (unwanted) components
-- for example, if so much data were removed for one reason or another that
not enough time points remained to decompose at the original number of
dimensions.

But if the number of components sought in a 2nd ICA is more than the number
of dimensions in the data (e.g., the number of retained components from the
1st deomposition), then the decomposition will not converge and can give
strange complex values etc.

In such a case, it is necessary to reduce the dimension of the data to fewer
than the number of channels (e.g., down to the number of retained
components), either by removing *channels* from the data decomposed or by
using the 'pca' option to reduce the dimension of the data to, e.g., the
number of components retained.

Scott Makeig

P.S. Old joke: The music patron asked the conductor, 'Is Bach still
composing?' He replied, 'No madam, decomposing...'
>
>
>
>
> On Fri, Nov 14, 2008 at 12:19 AM, conny kranczioch <
> conny_kranczioch at yahoo.de> wrote:
>
>> Hi,
>>
>> I'm a bit puzzled by Klados' answer as the EEGlab tutorial suggests the
>> following (point 7 is the most relevant):
>>
>> *****
>> Topic: III.3. Rejection based on independent data components
>>
>> 1. Visually reject unsuitable (e.g. paroxysmal) portions of the continuous
>> data.
>>
>> 2. Separate the data into suitable short data epochs.
>>
>> 3. Perform ICA on these epochs to derive their independent components.
>>
>> 4. Perform semi-automated and visual-inspection based rejection on the
>> derived components.
>>
>> 5. Visually inspect and select data epochs for rejection.
>>
>> 6. Reject the selected components and data epochs.
>>
>> 7. Perform ICA a second time on the pruned collection of short data epochs
>> -- This may improve the quality of the ICA decomposition, revealing more
>> independent components accounting for neural, as opposed to mixed
>> artifactual activity. If desired, the ICA unmixing and sphere matrices may
>> then be applied to (longer) data epochs from the same continuous data.
>> Longer data epochs are useful for time/frequency analysis, and may be
>> desirable for tracking other slow dynamic features.
>>
>> *****
>>
>> the EEGlab tutorial??
>>
>> Best, Conny
>>
>>
>> --- eeglablist-request at sccn.ucsd.edu <eeglablist-request at sccn.ucsd.edu>
>> schrieb am Fr, 14.11.2008:
>>
>> > Von: eeglablist-request at sccn.ucsd.edu <eeglablist-request at sccn.ucsd.edu
>> >
>> > Betreff: eeglablist Digest, Vol 49, Issue 4
>> > An: eeglablist at sccn.ucsd.edu
>> > Datum: Freitag, 14. November 2008, 3:00
>> > Send eeglablist mailing list submissions to
>> >       eeglablist at sccn.ucsd.edu
>> >
>> > To subscribe or unsubscribe via the World Wide Web, visit
>> >       http://sccn.ucsd.edu/mailman/listinfo/eeglablist
>> > or, via email, send a message with subject or body
>> > 'help' to
>> >       eeglablist-request at sccn.ucsd.edu
>> >
>> > You can reach the person managing the list at
>> >       eeglablist-owner at sccn.ucsd.edu
>> >
>> > specific
>> > than "Re: Contents of eeglablist digest..."
>> > Today's Topics:
>> >
>> >    1. Re: Computing a second ICA on a dataset (Klados
>> > Manousos)
>> >    2. Re: Computing a second ICA on a dataset (Germ?n
>> > G?mez-Herrero)
>> > Dear Jan
>> >
>> > If i understood well, your problem is that you permorf ICA
>> > decomposition
>> > once you remove some components and then you reconstruct
>> > the signal and you
>> > want to perform a second ICA on the already reconstructed
>> > signal. If is that
>> > your problem forget it. It's totally pointless to
>> > perfome ICA on a
>> > reconstructed signal after ICA decomposition and
>> > elimination of some
>> > components. Because ICA decomposes the signal into
>> > statistical idependent
>> > sources according to the ICA algorithm you use. After that
>> > the
>> > reconstruction of the signal does'nt have all the real
>> > underlying cerebral
>> > sources it mixes the aforementioned computed sources (where
>> > it supposed to
>> > be very near to the original). So in the best second ICA
>> > will give you the
>> > mixed sources...
>> >
>> > Manousos
>> >
>> > 2008/11/7 Jan R. Wessel <Jan.Wessel at nf.mpg.de>
>> >
>> > > Hey everybody,
>> > >
>> > > I'm analyzing an EEG dataset on an eye-movement
>> > task. In order to cope
>> > > with the massive eye-movement artifacts, I computed a
>> > normal ICA on the
>> > > dataset and got rid of all the oviously eye-movement
>> > related components.
>> > > Now, I'm trying to compute a second ICA in order
>> > to clean up the data
>> > > even more, because there is still considerable
>> > saccadic activity in most
>> > > of the datasets.
>> > >
>> > > When I'm doing this, I'm running into a series
>> > of problems. Seemingly
>> > > depending on the memory of the machine I am running it
>> > on, a) either the
>> > > ICA takes days to compute for a single subject, b) or
>> > Matlab terminates
>> > > without any prompt, leaving me with a
>> > "segmentation fault" in the unix
>> > > terminal or c) if it runs until the end, it seems to
>> > give me (and here
>> > > comes the really weird part) complex numbers (!) such
>> > as
>> > > "0.009259085778863 + 0.013638045843933i" as
>> > ICA weights. When I display
>> > > the component activations, I get some funny activation
>> > spots in the
>> > > bottom left corner of the plot, while the rest of the
>> > plot is blank.
>> > > This effect is regardless of which epochs I display.
>> > >
>> > > So obviously, the second ICA doesn't really seem
>> > to work out. Does
>> > > anybody have any experience with consecutive ICA
>> > analyses or has even
>> > > come across the same problem and can maybe help me out
>> > here?
>> > >
>> > > Thanks in advance,
>> > > best,
>> > > Jan
>> > >
>> > > --
>> > > Jan R. Wessel, Dipl.-Psych.
>> > > Cognitive Neurology Research Group
>> > > Max Planck Institute for Neurological Research
>> > > Gleueler Straße 50
>> > > D-50931 Cologne
>> > > Phone: 0221 - 4726 343
>> > > Mail:  Wessel at nf.mpg.de
>> > >
>> > > _______________________________________________
>> > > 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
>> > >
>> >
>> >
>> >
>> > --
>> > Graduate Student, Research Assistant
>> > Group of Applied Neurosciences
>> > Lab of Medical Informatics, Medical School
>> > Aristotle University of Thessaloniki
>> > Thessaloniki, Greece
>> > _________________________________________________
>> > Tel: +30-2310-999332
>> > Website :
>> > http://lomiweb.med.auth.gr/gan/index_files/Page1269.htm
>> > Hi Jan,
>> > Applying ICA in several consecutive runs is usually not a
>> > good idea unless
>> > you take special precautions to avoid using rank-deficient
>> > data in your ICA
>> > estimation. Also, running ICA several times will not let
>> > you (in general)
>> > obtain sources that you did not obtain already in the first
>> > run. The
>> > problems that you experience are a typical result of trying
>> > to apply ICA on
>> > rank-deficient data.
>> >
>> > If you had a 20-channels EEG data and in the first ICA run
>> > you removed 10
>> > components, this means that in the second run you will not
>> > be able to
>> > extract more than 10 independent components (even you still
>> > have 20 EEG
>> > channels). This is because in the first ICA run you already
>> > removed 10
>> > spatial components out of the 20 that you needed to
>> > describe perfectly your
>> > original EEG dynamics. If you try to apply ICA and extract
>> > 20 independent
>> > components out of this "rank-deficient" data the
>> > result will be inaccurate
>> > in the best case and non-sense in the worst (e.g. an
>> > imaginary separating
>> > matrix or just a crash). Probably the easiest solution to
>> > this problem is to
>> > always run PCA before ICA so that you ensure that your data
>> > covariance
>> > matrix is well-conditioned. Check the attached main.m file
>> > to see what I
>> > mean.
>> >
>> > I would suggest EEGLAB's developers to enforce this
>> > pre-conditioning step in
>> > the function runica to avoid other users running into the
>> > same problems.
>> >
>> > Hope that helps,
>> > Germán
>> >
>> >
>> >
>> >
>> > ---------------------------------------------------------------------
>> > Germán Gómez-Herrero
>> > M. Sc., Researcher
>> > Tampere University of Technology
>> > P.O. Box 553, FI-33101, Tampere, Finland
>> > Phone:   +358 3 3115 4519
>> > Mobile:  +358 40 5011256
>> > Fax:     +358 3 3115 4989
>> > http://www.cs.tut.fi/~gomezher/index.htm<http://www.cs.tut.fi/%7Egomezher/index.htm>
>> >
>> > > -----Original Message-----
>> > > From: eeglablist-bounces at sccn.ucsd.edu
>> > [mailto:eeglablist-
>> > > bounces at sccn.ucsd.edu] On Behalf Of Jan R. Wessel
>> > > Sent: 07 November 2008 18:01
>> > > To: eeglablist at sccn.ucsd.edu
>> > > Subject: [Eeglablist] Computing a second ICA on a
>> > dataset
>> > >
>> > > Hey everybody,
>> > >
>> > > I'm analyzing an EEG dataset on an eye-movement
>> > task. In order to cope
>> > > with the massive eye-movement artifacts, I computed a
>> > normal ICA on the
>> > > dataset and got rid of all the oviously eye-movement
>> > related
>> > > components.
>> > > Now, I'm trying to compute a second ICA in order
>> > to clean up the data
>> > > even more, because there is still considerable
>> > > most
>> > > of the datasets.
>> > >
>> > > When I'm doing this, I'm running into a series
>> > of problems. Seemingly
>> > > depending on the memory of the machine I am running it
>> > on, a) either
>> > > the
>> > > ICA takes days to compute for a single subject, b) or
>> > Matlab terminates
>> > > without any prompt, leaving me with a
>> > "segmentation fault" in the unix
>> > > terminal or c) if it runs until the end, it seems to
>> > give me (and here
>> > > comes the really weird part) complex numbers (!) such
>> > as
>> > > "0.009259085778863 + 0.013638045843933i" as
>> > ICA weights. When I display
>> > > the component activations, I get some funny activation
>> > spots in the
>> > > bottom left corner of the plot, while the rest of the
>> > plot is blank.
>> > > This effect is regardless of which epochs I display.
>> > >
>> > > So obviously, the second ICA doesn't really seem
>> > to work out. Does
>> > > anybody have any experience with consecutive ICA
>> > analyses or has even
>> > > come across the same problem and can maybe help me out
>> > here?
>> > >
>> > > Thanks in advance,
>> > > best,
>> > > Jan
>> > >
>> > > --
>> > > Jan R. Wessel, Dipl.-Psych.
>> > > Cognitive Neurology Research Group
>> > > Max Planck Institute for Neurological Research
>> > > Gleueler Straße 50
>> > > D-50931 Cologne
>> > > Phone: 0221 - 4726 343
>> > > Mail:  Wessel at nf.mpg.de
>> > >
>> > > _______________________________________________
>> > > 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 mailing list eeglablist at sccn.ucsd.edu
>> > Eeglablist page:
>> > http://www.sccn.ucsd.edu/eeglab/eeglabmail.html
>> > To unsubscribe, send an empty email to
>> > eeglablist-unsub at sccn.ucsd.edu
>> > To switch to non-digest mode, send an empty email to
>> > eeglablist-nodigest 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
>>
>
>
>
> --
> Scott Makeig, Research Scientist and Director, Swartz Center for
> Computational Neuroscience, Institute for Neural Computation, University of
> California San Diego, La Jolla CA 92093-0961, http://sccn.ucsd.edu/~scott<http://sccn.ucsd.edu/%7Escott>
>

--
Scott Makeig, Research Scientist and Director, Swartz Center for
Computational Neuroscience, Institute for Neural Computation, University of
California San Diego, La Jolla CA 92093-0961, http://sccn.ucsd.edu/~scott
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20081114/d0a5219c/attachment-0001.html
```