[Eeglablist] ICA "adds" noise?

Makoto Miyakoshi mmiyakoshi at ucsd.edu
Thu Dec 20 14:23:18 PST 2012


Dear Kristina,

I think rank is not the issue in your case, but just for your informaiton,
usually rank = number of channels, and after average referencing, it
is number of channels-1. From my experience, ICA does not easily crash even
if you feed them weird ranked data, but it returns some subspace (most
likely alpha). By the way matlab function rank does not work properly after
filtering.

Makoto

2012/12/20 Kristina Borgström <kristina.borgstrom at psychology.lu.se>

> Hi Mark,
>
> Thank you so much for replying. I think your explanation sounds
> reasonable. I'm running ICA through the GUI, but I'm not getting a
> suggestion to run PCA before. But I do get the error message you mentioned:
> "fixing rank computation inconsistency (124 vs 123) most likely because
> running under Linux 64-bit MatlabAttempting to convert data matrix to
> double precision for more accurate ICA results." (My data actually only has
> 124 channels because we removed the eye electrodes on our sensor nets).
> Also, the ICA does calculate 124 components.  I'm very new to EEGlab and
> ICA so I don't fully understand everything about rank number, but if I
> understand you correctly it's because I re-referenced to average-mastoid
> (from vertex reference) which makes two channels dependent on each other,
> that the data is no longer "full rank"? Would it be better to leave the
> data vertex-referenced for the ICA?
>
> If not, how do I determine the correct rank for the data? Also, I can't
> find how to run PCA, can it be done in the GUI?  I'm sorry, I understand
> these questions are very basic, and I tried a google search but it wasn't
> very clear. If you're able to provide a quick and easy answer I would be
> very grateful, otherwise I will still take your advice and try to figure
> out those extra steps!
>
> Thanks again!
>
> 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
>
> _______________________________________________
> 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
>



-- 
Makoto Miyakoshi
JSPS Postdoctral Fellow for Research Abroad
Swartz Center for Computational Neuroscience
Institute for Neural Computation, University of California San Diego
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20121220/a1d32fa3/attachment.html>


More information about the eeglablist mailing list