<div dir="ltr">Dear Imtiaz and Tatu,<div><br></div><div>Sorry for the trouble.</div><div><br></div><div>> rank(EEG.data([eeg_channel_indices],:))<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">If you provide whole length of data, rank() returns very low numbers. However, if you chop up the data into short epochs such as 1 or 2 seconds and rank() one by one, it usually returns the number of channels (if your channels did not bridge).</div><div class="gmail_extra"><br></div><div class="gmail_extra">Looks like runica() runs rank() function as rank(data) which may return very low rank under certain situation (at least from my experience).</div><div class="gmail_extra"><br></div><div class="gmail_extra">I heard someone say that after low-pass filtering the data rank could be estimated lower. This seems reasonable speculation, but I've never tested it myself. I don't know the mechanism of the problem either.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Anyway, it's wroth trying to file it to EEGLAB bugzilla.</div><div class="gmail_extra"><a href="https://sccn.ucsd.edu/bugzilla/">https://sccn.ucsd.edu/bugzilla/</a><br></div><div class="gmail_extra">Thank you for cooperation.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Makoto</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 1, 2015 at 1:04 AM, Tatu Huovilainen <span dir="ltr"><<a href="mailto:tatu.huovilainen@helsinki.fi" target="_blank">tatu.huovilainen@helsinki.fi</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">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.  <a href="http://sccn.ucsd.edu/wiki/Chapter_09:_Decomposing_Data_Using_ICA" rel="noreferrer" target="_blank">http://sccn.ucsd.edu/wiki/Chapter_09:_Decomposing_Data_Using_ICA</a> and the next chapter is a good overview of the method.<br>
<br>
Your lower rank can result, atleast, from including the reference channel, interpolated channels or bridged channels during measurement.<br>
<br>
Hope this helps,<br>
Tatu<br>
<span class=""><br>
<br>
On Mon, 30 Nov 2015 10:30:52 -0600<br>
Imtiaz SA <<a href="mailto:imtiaz1877@gmail.com">imtiaz1877@gmail.com</a>> wrote:<br>
<br>
> When I execute ICA it prompts for rank number and suggests a rank number<br>
> automatically. I have total 38 channels and for some data sets EEGLAB<br>
> suggests rank number 21 or 29 or 33 (always less than 38). Could you please<br>
> tell me how exactly these rank numbers are calculated?<br>
><br>
> --<br>
><br>
><br>
><br>
><br>
><br>
> Thanks and regards,<br>
><br>
><br>
><br>
</span>> *Imtiaz*<br>
<div class=""><div class="h5">><br>
> PhD Student<br>
><br>
> Department of Computer Science<br>
><br>
> The University of Texas at San Antonio<br>
<br>
<br>
</div></div><span class=""><font color="#888888">--<br>
Tatu Huovilainen <<a href="mailto:tatu.huovilainen@helsinki.fi">tatu.huovilainen@helsinki.fi</a>><br>
_______________________________________________<br>
Eeglablist page: <a href="http://sccn.ucsd.edu/eeglab/eeglabmail.html" rel="noreferrer" target="_blank">http://sccn.ucsd.edu/eeglab/eeglabmail.html</a><br>
To unsubscribe, send an empty email to <a href="mailto:eeglablist-unsubscribe@sccn.ucsd.edu">eeglablist-unsubscribe@sccn.ucsd.edu</a><br>
For digest mode, send an email with the subject "set digest mime" to <a href="mailto:eeglablist-request@sccn.ucsd.edu">eeglablist-request@sccn.ucsd.edu</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Makoto Miyakoshi<br>Swartz Center for Computational Neuroscience<br>Institute for Neural Computation, University of California San Diego<br></div></div>
</div></div>