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

arno delorme arno at ucsd.edu
Sat Nov 15 18:40:32 PST 2008


Yes, this is correct but the first ICA is used to detect bad epochs  
(ICA components should not be removed). The second ICA is cleaner and  
ICA component which are biologically plausible are usually more stable.

As Manousos points out, Klados performs ICA, remove components (and  
thus reduce the dimentionality of the data) and then rerun ICA. The  
second ICA will not converge because the rank of the data is inferior  
to the number of channels. In brief, if you remove c component and  
have n channels, the second time you run ICA you should use the option  
" 'pca', n-c ". In any case, this will not improve the decomposition  
as the data has not changed.

Best,

Arno

On 14 nov. 08, at 00:19, conny kranczioch 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.
>
> *****
>
> Point 7 basically contradicts Klados' answer. So who is right,  
> Klados or 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
>>
>> When replying, please edit your Subject line so it is more
>> 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
>>>
>>
>>
>>
>> -- 
>> Klados A. Manousos
>> 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
>>
>>> -----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
>> 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
>> _______________________________________________
>> 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





More information about the eeglablist mailing list