Do you need an equal amount of electrodes and components for ICA?

When computing the ICA components it asks for the number of ICA components. But when I type 256 (the number of electrodes in our data) I get an error:

Function "runica" did not return any results.

But I have also heard that it's only really the first few (maybe 20 to 30) components that are important because the rest don't account for much of the variance in the data. If this is true, would it be sensible to type something like 40 for the number of components. Would the result would be the same for these 40 components as it would be for the top 40 out of 256 components? Or does the number of components need to be closer to the number of electrodes in order for the analysis to be accurate?

Thanks!

The option Number of ICA components, if set, does a dimension reduction with PCA before the ICA analysis. The ICA execution is faster with a lower number of signals, and if you have less ICA components to review, the selection would be easier. Reviewing and selecting 256 IC topographies is very unpractical.

If you set this parameter to zero, it would return as many IC as you have sensors in input.
Both options should be possible, unless the real rank of your input matrix (the EEG recordings) is lower than the number of sensors. This could happen after some re-referencing operations, replacing bad channels with local interpolations. or after a previous step of cleaning with another cleaning procedure based on dimension reduction or linear mixing of different sensors. In these cases, you might need to explicitly set the number of ICs to something lower than the number of channels, like in the EEG tutorial:
https://neuroimage.usc.edu/brainstorm/Tutorials/Epilepsy#Artifact_cleaning_with_ICA

I'm sorry, we are not experts with ICA. Regarding selection of IC, you'd rather look for sources of information in the EEGLAB comunity.

But I have also heard that it's only really the first few (maybe 20 to 30) components that are important

This could be true only with SSP, or with ICA components sorted based on the correlation with a sensors (e.g. EOG).

because the rest don't account for much of the variance in the data

I think this is wrong. In my understanding, all the IC returned by runica.m explain similar amounts of variance from the input data.
If you sort them based on some properties of the IC time series (e.g. the correlation with the EOG), then only the top few would be good candidates to be removed to correct for eye artifacts, but that wouldn't be true for other artifacts.

I recommend you look for other sources of information about ICA.
The EEGLAB community might be able to guide you better (runica.m is an EEGLAB function).

1 Like