Running ICA on data that are already pruned with ICA?

265 views
Skip to first unread message

Joel F

unread,
Oct 4, 2019, 5:21:24 PM10/4/19
to AnalyzingNeuralTimeSeriesData

Hi Mike,

I have a somewhat involved technical question that I thought would be appropriate to post here. In clinical EEG data that I'm processing, there are some strange technical artifacts that have an aperiodic, square waveform, certainly not the usual 60 Hz line noise, but likely induced by other electronic equipment in the hospital (I have no control over data collection). My normal pipeline bandpass filters the data 0.5 - 45 Hz before removing artifacts with ICA. The trouble is, the technical artifacts I mentioned above are much easier to remove with ICA *before* the bandpass filter. This is because bandpass filtering "smears" the nonsinusoidal waveforms such that they cannot be easily removed with ICA.

My question is, how severe of a sin is it to 1) do the ICA on the raw unfiltered data, 2) remove the technical artifact with ICA, 3) bandpass filter the data, and then 4) do a new ICA decomposition on the filtered (and rank reduced) data for further artifact reduction? I am using the FASTICA algorithm, which, if I understand correctly, stops after it has already found a sufficient number of ICs to explain a high degree of variance in the data. Is it legit to do ICA twice in this manner (i.e., with the second ICA decomposition being run on data that are already pruned with ICA)?

Thanks so much for your help.

Best,
Joel

Mike X Cohen

unread,
Oct 6, 2019, 2:11:53 AM10/6/19
to analyzingneura...@googlegroups.com
Hi Joel. Not a sin at all. In fact, this is a good idea. ICA will give a better solution if you provide it clean data. 

Mike



--
You received this message because you are subscribed to the Google Groups "AnalyzingNeuralTimeSeriesData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimes...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/analyzingneuraltimeseriesdata/d85bc026-65fa-4491-a367-86522e918d52%40googlegroups.com.


--
Mike X Cohen, PhD
Fresh look: mikexcohen.com

John Johnson

unread,
Oct 6, 2019, 12:30:02 PM10/6/19
to analyzingneura...@googlegroups.com
Hi Joel,

Artifact substance reconstruction might be worth a shot too. 
You can find it in the EEGLAB clean_rawdata extension. 

Regards,
John

John T. Johnson
PhD Candidate - Applied Physiology
Georgia Institute of Technology


On Oct 4, 2019, at 5:21 PM, Joel F <joelfr...@gmail.com> wrote:


--

Joel F

unread,
Oct 7, 2019, 1:33:55 PM10/7/19
to AnalyzingNeuralTimeSeriesData
Hi Mike,

Ok thank you--I guess I was under the impression that running ICA again after having already removed components from the previous decomposition was generally ill advised (even if this case is perhaps an exception)? Is that not generally true?

Best,
Joel



On Saturday, October 5, 2019 at 11:11:53 PM UTC-7, Mike X Cohen wrote:
Hi Joel. Not a sin at all. In fact, this is a good idea. ICA will give a better solution if you provide it clean data. 

Mike



On Fri, Oct 4, 2019 at 11:21 PM Joel F <joelfr...@gmail.com> wrote:

Hi Mike,

I have a somewhat involved technical question that I thought would be appropriate to post here. In clinical EEG data that I'm processing, there are some strange technical artifacts that have an aperiodic, square waveform, certainly not the usual 60 Hz line noise, but likely induced by other electronic equipment in the hospital (I have no control over data collection). My normal pipeline bandpass filters the data 0.5 - 45 Hz before removing artifacts with ICA. The trouble is, the technical artifacts I mentioned above are much easier to remove with ICA *before* the bandpass filter. This is because bandpass filtering "smears" the nonsinusoidal waveforms such that they cannot be easily removed with ICA.

My question is, how severe of a sin is it to 1) do the ICA on the raw unfiltered data, 2) remove the technical artifact with ICA, 3) bandpass filter the data, and then 4) do a new ICA decomposition on the filtered (and rank reduced) data for further artifact reduction? I am using the FASTICA algorithm, which, if I understand correctly, stops after it has already found a sufficient number of ICs to explain a high degree of variance in the data. Is it legit to do ICA twice in this manner (i.e., with the second ICA decomposition being run on data that are already pruned with ICA)?

Thanks so much for your help.

Best,
Joel

--
You received this message because you are subscribed to the Google Groups "AnalyzingNeuralTimeSeriesData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimeseriesdata+unsub...@googlegroups.com.

Joel F

unread,
Oct 7, 2019, 1:35:04 PM10/7/19
to AnalyzingNeuralTimeSeriesData
Hi John,

Thank you, I had considered ASR but my data are long recordings with only a few channels. I think ASR is better suited for short recordings with many channels, is that right?

Best,
Joel
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimeseriesdata+unsub...@googlegroups.com.

Mike X Cohen

unread,
Oct 7, 2019, 3:35:37 PM10/7/19
to analyzingneura...@googlegroups.com
Not that I know of. I don't believe I've heard that ICA twice is ill-advised. ICA is just a linear decomposition of a dataset. If you run ICA on pruned data, then it's important to realize that you are decomposing data that has already been dimensionality-reduced. Depending on the ICA algorithm, it might be a good idea to apply PCA compression first to get the data down to R dimensions (R = number of channels minus number of components removed in the first step) and then run ICA on the R-D data.

It might also depend on what you are using the ICA for: Are you using ICA just to clean the data and then you will proceed to analyze the channel data, or will you analyze the ICs and not the channel data?

All this said, the real ICA experts are on the eeglab list, not on this list. So you should consider posting this to the eeglab list (or maybe it's already been discussed there).

Mike



On Mon, Oct 7, 2019 at 7:33 PM Joel F <joelfr...@gmail.com> wrote:
Hi Mike,

Ok thank you--I guess I was under the impression that running ICA again after having already removed components from the previous decomposition was generally ill advised (even if this case is perhaps an exception)? Is that not generally true?

Best,
Joel



On Saturday, October 5, 2019 at 11:11:53 PM UTC-7, Mike X Cohen wrote:
Hi Joel. Not a sin at all. In fact, this is a good idea. ICA will give a better solution if you provide it clean data. 

Mike



On Fri, Oct 4, 2019 at 11:21 PM Joel F <joelfr...@gmail.com> wrote:

Hi Mike,

I have a somewhat involved technical question that I thought would be appropriate to post here. In clinical EEG data that I'm processing, there are some strange technical artifacts that have an aperiodic, square waveform, certainly not the usual 60 Hz line noise, but likely induced by other electronic equipment in the hospital (I have no control over data collection). My normal pipeline bandpass filters the data 0.5 - 45 Hz before removing artifacts with ICA. The trouble is, the technical artifacts I mentioned above are much easier to remove with ICA *before* the bandpass filter. This is because bandpass filtering "smears" the nonsinusoidal waveforms such that they cannot be easily removed with ICA.

My question is, how severe of a sin is it to 1) do the ICA on the raw unfiltered data, 2) remove the technical artifact with ICA, 3) bandpass filter the data, and then 4) do a new ICA decomposition on the filtered (and rank reduced) data for further artifact reduction? I am using the FASTICA algorithm, which, if I understand correctly, stops after it has already found a sufficient number of ICs to explain a high degree of variance in the data. Is it legit to do ICA twice in this manner (i.e., with the second ICA decomposition being run on data that are already pruned with ICA)?

Thanks so much for your help.

Best,
Joel

--
You received this message because you are subscribed to the Google Groups "AnalyzingNeuralTimeSeriesData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimes...@googlegroups.com.


--
Mike X Cohen, PhD
Fresh look: mikexcohen.com

--
You received this message because you are subscribed to the Google Groups "AnalyzingNeuralTimeSeriesData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimes...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/analyzingneuraltimeseriesdata/26f0150c-1f3a-450f-ab6f-bd84980e0957%40googlegroups.com.

Joel F

unread,
Oct 7, 2019, 6:00:19 PM10/7/19
to AnalyzingNeuralTimeSeriesData
Hi Mike,

I'm only using ICA to clean EEG, i.e., I am doing my analysis on the channel data, not in component space. Thanks so much for your help, sounds like I have a straightforward solution to remove the technical artifacts by doing an initial ICA before bandpass filtering.

Best,
Joel

On Monday, October 7, 2019 at 12:35:37 PM UTC-7, Mike X Cohen wrote:
Not that I know of. I don't believe I've heard that ICA twice is ill-advised. ICA is just a linear decomposition of a dataset. If you run ICA on pruned data, then it's important to realize that you are decomposing data that has already been dimensionality-reduced. Depending on the ICA algorithm, it might be a good idea to apply PCA compression first to get the data down to R dimensions (R = number of channels minus number of components removed in the first step) and then run ICA on the R-D data.

It might also depend on what you are using the ICA for: Are you using ICA just to clean the data and then you will proceed to analyze the channel data, or will you analyze the ICs and not the channel data?

All this said, the real ICA experts are on the eeglab list, not on this list. So you should consider posting this to the eeglab list (or maybe it's already been discussed there).

Mike



On Mon, Oct 7, 2019 at 7:33 PM Joel F <joelfr...@gmail.com> wrote:
Hi Mike,

Ok thank you--I guess I was under the impression that running ICA again after having already removed components from the previous decomposition was generally ill advised (even if this case is perhaps an exception)? Is that not generally true?

Best,
Joel



On Saturday, October 5, 2019 at 11:11:53 PM UTC-7, Mike X Cohen wrote:
Hi Joel. Not a sin at all. In fact, this is a good idea. ICA will give a better solution if you provide it clean data. 

Mike



On Fri, Oct 4, 2019 at 11:21 PM Joel F <joelfr...@gmail.com> wrote:

Hi Mike,

I have a somewhat involved technical question that I thought would be appropriate to post here. In clinical EEG data that I'm processing, there are some strange technical artifacts that have an aperiodic, square waveform, certainly not the usual 60 Hz line noise, but likely induced by other electronic equipment in the hospital (I have no control over data collection). My normal pipeline bandpass filters the data 0.5 - 45 Hz before removing artifacts with ICA. The trouble is, the technical artifacts I mentioned above are much easier to remove with ICA *before* the bandpass filter. This is because bandpass filtering "smears" the nonsinusoidal waveforms such that they cannot be easily removed with ICA.

My question is, how severe of a sin is it to 1) do the ICA on the raw unfiltered data, 2) remove the technical artifact with ICA, 3) bandpass filter the data, and then 4) do a new ICA decomposition on the filtered (and rank reduced) data for further artifact reduction? I am using the FASTICA algorithm, which, if I understand correctly, stops after it has already found a sufficient number of ICs to explain a high degree of variance in the data. Is it legit to do ICA twice in this manner (i.e., with the second ICA decomposition being run on data that are already pruned with ICA)?

Thanks so much for your help.

Best,
Joel

--
You received this message because you are subscribed to the Google Groups "AnalyzingNeuralTimeSeriesData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimeseriesdata+unsub...@googlegroups.com.


--
Mike X Cohen, PhD
Fresh look: mikexcohen.com

--
You received this message because you are subscribed to the Google Groups "AnalyzingNeuralTimeSeriesData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimeseriesdata+unsub...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages