[Eeglablist] ICA "adds" noise?

Kristina Borgström kristina.borgstrom at psychology.lu.se
Thu Dec 20 06:10:33 PST 2012


Hi again,

Just an addition to my reply. I continued my internet search and found this on eeglab faq: 

"Reducing the number of ICA components 

Question: I don't know how to make the independent component dimension reduced by PCA in EEGlab4.0. For example, I want to obtain 4 independent components from 32-channel EEG data.

Answer: To extract 4 components, in the second text box of the "Tools > Run ICA" interactive pop-up window, enter " 'pca', 4 " or "'ncomps', 4" and that will do it.
Note we do not recommend using PCA (" 'pca', 4 ") unless you have some good reason. Using first PCA components only will truncate the data (irrespective of components), and then ICA may not be able to find relevant components. The second possibility ("'ncomps', 4") is more acceptable theoritically since it is a true ICA decomposition (that uses a rectangular matrix). In general, we advise finding as many components as possible (e.g. if you have enough memory on you computer to run ICA over all the channels)."

Do you recommend that I do the PCA version, or the ncomps version? And is the correct rank of my data 123 do you think, or how do I determine this? I'm guessing the number next to ncomps is the rank number/the number of components you want to get. 

I also tried running the following command: EEG = pop_runica(EEG, 'icatype', 'runica', 'chanind', 1:123, 'extended', 1); 
I'm waiting for the result right now.

Does that command do the same thing as "'ncoms', 123" in the GUI? 

Thanks,
Kristina


Kristina Borgström 
PhD Student
Department of Psychology
Lund University
Sweden
+46-46-2223638


-----Ursprungligt meddelande-----
Från: Matt Craddock [mailto:matt.craddock at uni-leipzig.de] 
Skickat: den 20 december 2012 13:46
Till: Kristina Borgström
Kopia: eeglablist at sccn.ucsd.edu
Ämne: Re: [Eeglablist] ICA "adds" noise?

Hi Kristina,

I've recently hit on similar behaviour (and in some cases even *worse*) with some of my datasets. For me, this seemed to be because of decomposing the data as if it were full rank (i.e. all the channels are approx linearly independent from each other) when it wasn't (there are also previous posts along these lines by Maximilien Chaumon - see http://sccn.ucsd.edu/pipermail/eeglablist/2011/004326.html). Looking in your specific case, I'd be quite cautious about removing those "noisy" 
components because they look to me like they also contain some genuine brain activity (though note that the two are basically identical, just opposite sign, which makes it look like the same problem as above).

There are much more expert people than me on this list who can tell you much better why these noisy components happen, but what I can tell you is interpolation and rereferencing reduce the rank of the data, and this can, occasionally, make ICA do things like you're seeing. I'd suggest running PCA first to reduce the dimensions in the data accordingly. I've seen Arnaud Delorme suggest on another list you should avoid using PCA first, but I'm not sure that advice applies when the data is not full-rank.

Now, if you run ICA through the menus in EEGLAB, it should detect that your data is not full rank, suggest an appropriate number of components to return, and then run PCA before ICA. However, if you run the ICA as part of a script, it'll probably be set up in such a way that it skips this step of suggesting an appropriate number of components and asking if it should reduce the data first. You may see a message along the lines of "fixing rank computation inconsistency probably because you're on linux 64 bit matlab"; this appears even if you're on Windows, and always selects the higher number of components returned by two different methods of calculating rank, which, in my experience, means it always decomposes the data as if it were full rank. So I'd suggest, if you're running ICA as part of your script, calculating the rank of your data and then passing that to the pop_runica function yourself.

Cheers,
Matt

On 19/12/2012 10:26, Kristina Borgström wrote:
>
>> Hi,
>> I have an issue regarding ICA for artifact correction that I really 
>> would appreciate some help with.
>> Here is some background information: I have recorded child data (2 
>> years old) with EGI, 128 channels. Before export to EEGLab, the data 
>> has been band-pass filtered 1-30 Hz, epoched, clearly bad epochs 
>> (with more artifacts than just eye artifacts) were removed, and bad 
>> channels in the remaining epochs were interpolated. The data was 
>> rereferenced to average mastoid reference. I then imported into 
>> EEGlab, which treats the data as continuous, but has all the event 
>> information. I have then performed ICA in order to correct for eye artifacts.
>>
>
> *The problem (please see the image files located at following links):*
>> **https://dl.dropbox.com/u/7016081/DataPlots.jpg
>
> https://dl.dropbox.com/u/7016081/ICAComponents.jpg
>>
>> In (at least) two data files, besides some clear eye artifact 
>> components (components 1 & 11: blink; component 7: horizontal eye 
>> movement), the ICA also found two components that look like pure high 
>> frequency noise (components 2 & 3).
>> When I remove the eye artifact components (1,7 & 11), the eye 
>> artifacts are in fact removed, BUT the data looks generally 
>> "noisier", i.e. the channels overall are fuzzier (see the image 
>> "DataPlots" for comparisons). When I calculated individual averages 
>> with this data, it indeed contained massive amounts of high frequency 
>> noise that was not present in the averages where I did not use ICA at 
>> all but instead removed all epochs containing eye artifacts.
>> I then continued and tested removing the "noise components" (2 & 3), 
>> and the data then looked like it did originally, minus the eye 
>> artifacts. It didn't seem to have a major effect on the ERP 
>> components either, but of course removed the high frequency noise.
>>
>> *My main questions are:*How can noise be "added" to the data, after 
>> removal of certain components? How can I determine what type of noise 
>> components 2 & 3 consist of? I've looked at the frequency plots, but 
>> I don't think it's very clear. Can it be line noise, or EMG? The 
>> scalp topographies are very widespread, and EMG is usually more 
>> laterally located. Should it be ok to just remove these two 
>> components when they appear, or is there a risk that they contain cognitive components?
>> Many thanks for any input you can give me!
>> Regards,
>> Kristina Borgström
>> PhD Student
>> Department of Psychology
>> Lund University
>> Sweden
>> +46-46-2223638

--
Dr. Matt Craddock

Post-doctoral researcher,
Institute of Psychology,
University of Leipzig,
Seeburgstr. 14-20,
04103 Leipzig, Germany
Phone: +49 341 973 95 44




More information about the eeglablist mailing list