[Eeglablist] How do I define rank number for runica() ?

Tatu Huovilainen tatu.huovilainen at helsinki.fi
Tue Dec 1 01:04:52 PST 2015


Rank is an estimate of linearly independent rows or columns of the matrix. This estimate is necessary as ICA can't return more components than the rank of the input dataset. You can just use rank(EEG.data([eeg_channel_indices],:)) in matlab, also check 'help rank' or for exact way the rank is calculated 'edit rank'. Trying to pull more components than the rank results in components with complex numbers or the algorithm not converging.  http://sccn.ucsd.edu/wiki/Chapter_09:_Decomposing_Data_Using_ICA and the next chapter is a good overview of the method.

Your lower rank can result, atleast, from including the reference channel, interpolated channels or bridged channels during measurement.

Hope this helps,
Tatu


On Mon, 30 Nov 2015 10:30:52 -0600
Imtiaz SA <imtiaz1877 at gmail.com> wrote:

> When I execute ICA it prompts for rank number and suggests a rank number
> automatically. I have total 38 channels and for some data sets EEGLAB
> suggests rank number 21 or 29 or 33 (always less than 38). Could you please
> tell me how exactly these rank numbers are calculated?
> 
> -- 
> 
> 
> 
> 
> 
> Thanks and regards,
> 
> 
> 
> *Imtiaz*
> 
> PhD Student
> 
> Department of Computer Science
> 
> The University of Texas at San Antonio


-- 
Tatu Huovilainen <tatu.huovilainen at helsinki.fi>



More information about the eeglablist mailing list