Dear Jason and Makoto,<br><br>Indeed, 3 estimated components of 4 look exactly like 3 of 3 (three corr coeff around 0.99). It explains all.<br>I am very grateful to both of you for the help in understanding this.<br><br>Best regards,<br>
Ewa<br><br><div class="gmail_quote">On 12 May 2012 05:57, Makoto Miyakoshi <span dir="ltr"><<a href="mailto:mmiyakoshi@ucsd.edu" target="_blank">mmiyakoshi@ucsd.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Dear Jason,<br>
<br>
I learned a lot. Thank you Jason.<br>
<div class="im"><br>
> I'm<br>
> not sure what it does exactly in this case--it may reduce dimensionality of<br>
> the data first to 'numOfIC' dimensions, then perform ICA, or less likely it<br>
> may do full ICA then select which ICs to return by some criterion like<br>
> variance accounted for.<br>
<br>
</div>This is a copy from the help of fastica.m.<br>
<br>
        [icasig] = fastica (mixedsig, 'lastEig', 10, 'numOfIC', 3);<br>
<br>
                Reduce dimension to 10, and estimate only 3<br>
                independent components.<br>
<br>
So, dimension reduction and specifying the number of ICs to obtain<br>
seems independent.<br>
<br>
Makoto<br>
<br>
<br>
2012/5/11 Jason Palmer <<a href="mailto:japalmer29@gmail.com">japalmer29@gmail.com</a>>:<br>
<div class="HOEnZb"><div class="h5">> The default in FastICA is to use the "deflationary ICA" approach, where one<br>
> component is estimated at a time. So it will first estimate one IC, then<br>
> another, etc., up to the number you request in 'numOfIC'. The alternative is<br>
> the "symmetric" approach, which you can specify using 'approach','symm'. I'm<br>
> not sure what it does exactly in this case--it may reduce dimensionality of<br>
> the data first to 'numOfIC' dimensions, then perform ICA, or less likely it<br>
> may do full ICA then select which ICs to return by some criterion like<br>
> variance accounted for.<br>
><br>
> Generally, the equation x = As, where x is n-dimensional (n rows) is only<br>
> valid when s is also n-dimensional, or possibly if the data is not full rank<br>
> (only exists in a smaller dimensional subspace). If you have fewer ICs than<br>
> dimensions, then the equals should be an "approximately equal" sign. Or you<br>
> can write x = As + v, where v is a "noise" vector containing the part of x<br>
> that is not represented by the components in s.<br>
><br>
> If you write x = As with a reduced number of ICs in s, then x is really the<br>
> "backprojection" of those components, not the original data. So authors may<br>
> mean "x-hat" or "approximate x" in this equation. Technically the notation<br>
> should be different from the notation for the original data, or<br>
> "approximately equal" should be used, or an additional "noise" vector should<br>
> be added.<br>
><br>
> Best, Jason<br>
><br>
> -----Original Message-----<br>
> From: Makoto Miyakoshi [mailto:<a href="mailto:mmiyakoshi@ucsd.edu">mmiyakoshi@ucsd.edu</a>]<br>
> Sent: Friday, May 11, 2012 5:18 PM<br>
> To: Ewa Beldzik<br>
> Cc: <a href="mailto:japalmer@ucsd.edu">japalmer@ucsd.edu</a>; <a href="mailto:eeglablist@sccn.ucsd.edu">eeglablist@sccn.ucsd.edu</a><br>
> Subject: Re: [Eeglablist] Question regarding fastICA<br>
><br>
> I would be curious to know it too, although I know you did not write the<br>
> code!<br>
><br>
> Makoto<br>
><br>
> 2012/5/11 Ewa Beldzik <<a href="mailto:ewa.beldzik@gmail.com">ewa.beldzik@gmail.com</a>>:<br>
>> Hi Jason,<br>
>><br>
>> Thank you very much for the answer, just to clarify..<br>
>> So when I choose 3 components to be estimated is actually search for 4<br>
>> of them and then delete the one with the smallest eigenvalues from the<br>
> data?<br>
>> How come everybody use the equation in their theory section if the<br>
>> formula X=s*A is incorrect (considering that data reduction is<br>
>> substantial in neuroimaging)?<br>
>><br>
>> Kind regards,<br>
>> Ewa<br>
>><br>
>><br>
>> On 12 May 2012 00:43, Jason Palmer <<a href="mailto:japalmer29@gmail.com">japalmer29@gmail.com</a>> wrote:<br>
>>><br>
>>> Hi Ewa,<br>
>>><br>
>>><br>
>>><br>
>>> I don’t think there is actually a problem … Your 4x1000 data is most<br>
>>> likely full rank (covariance matrix has 4 significant eigenvalues),<br>
>>> so it needs 4 components (or dimensions in the basis set) to<br>
>>> represent the data without error. With only 3 components, you get an<br>
>>> approximation of the data, where one direction is not represented.<br>
>>> This may or may not correspond to the smallest dimension of the data<br>
>>> (the smallest eigenvalue/eigenvector) since ICA tries to find<br>
>>> independent directions, not necessarily the largest variance (like PCA<br>
> does).<br>
>>><br>
>>><br>
>>><br>
>>> So you would expect the reconstructed 4 dimensional data using 3<br>
>>> components to be different from the original data.<br>
>>><br>
>>><br>
>>><br>
>>> Best,<br>
>>><br>
>>> Jason<br>
>>><br>
>>><br>
>>><br>
>>> From: Ewa Beldzik [mailto:<a href="mailto:ewa.beldzik@gmail.com">ewa.beldzik@gmail.com</a>]<br>
>>> Sent: Friday, May 11, 2012 3:18 PM<br>
>>> To: <a href="mailto:mmiyakoshi@ucsd.edu">mmiyakoshi@ucsd.edu</a><br>
>>> Cc: <a href="mailto:eeglablist@sccn.ucsd.edu">eeglablist@sccn.ucsd.edu</a>; Jason Palmer<br>
>>> Subject: Re: [Eeglablist] Question regarding fastICA<br>
>>><br>
>>><br>
>>><br>
>>> Dear Makoto,<br>
>>><br>
>>> As far as I'm concern, fastICA community does not have forum nor<br>
>>> mailing list, so I  did write the same e-mail to Professor Hyvarinen<br>
>>> and one of his colleagues but I haven't got any answer yet.<br>
>>><br>
>>> Thank you for replicating it though. At least I'm sure it is the<br>
>>> algorithm and not my mistake.<br>
>>><br>
>>> Ewa<br>
>>><br>
>>> On 11 May 2012 22:33, Makoto Miyakoshi <<a href="mailto:mmiyakoshi@ucsd.edu">mmiyakoshi@ucsd.edu</a>> wrote:<br>
>>><br>
>>> Dear Ewa,<br>
>>><br>
>>> I replicated it. I don't know why this is so though... you'd better<br>
>>> ask fastica community. Jason, do you by any chance know what it is?<br>
>>><br>
>>> Makoto<br>
>>><br>
>>> 2012/5/11 Ewa Beldzik <<a href="mailto:ewa.beldzik@gmail.com">ewa.beldzik@gmail.com</a>>:<br>
>>><br>
>>> > Dear Mokoto,<br>
>>> ><br>
>>> > Thank you for the interest. I'm not sure if I can enclose the plots<br>
>>> > here so I'm gonna use min and max values as a reconstruction<br>
>>> > criteria.<br>
>>> > I have a data x (matrix size 4x1024; ranging <-3.882;2,466>)<br>
>>> ><br>
>>> > When I apply following command line in matlab:<br>
>>> > [icasig,A,W]=fastica(x,'numOfIC',4)<br>
>>> > and when I reconstruct x with the formula:<br>
>>> > x4=A*icasig<br>
>>> > I get x4 (matrix size 4x1024; ranging <-3.882;2,466>) which<br>
>>> > presents the exact plot as x.<br>
>>> ><br>
>>> > Now, when I apply following command line in matlab:<br>
>>> > [icasig2,A2,W2]=fastica(x,'numOfIC',3)<br>
>>> > and then I reconstruct x with:<br>
>>> > x3=A2*icasig2<br>
>>> > I get x3 (matrix size 4x1024; ranging <-4.453;2,469>) which<br>
>>> > presents far more noise plots then x.<br>
>>> ><br>
>>> > I'm not sure whether I'm not doing something wrong. But if the<br>
>>> > algorithm works this way why is it so?<br>
>>> ><br>
>>> > Best regards,<br>
>>> > Ewa<br>
>>> ><br>
>>> ><br>
>>> > On 10 May 2012 21:47, Makoto Miyakoshi <<a href="mailto:mmiyakoshi@ucsd.edu">mmiyakoshi@ucsd.edu</a>> wrote:<br>
>>> >><br>
>>> >> Dear Ewa,<br>
>>> >><br>
>>> >> What do you mean by 'imprecisely'? Or how did you now it is imprecise?<br>
>>> >> Please tell us more detail.<br>
>>> >><br>
>>> >> Makoto<br>
>>> >><br>
>>> >> 2012/5/10 Ewa Beldzik <<a href="mailto:ewa.beldzik@gmail.com">ewa.beldzik@gmail.com</a>>:<br>
>>> >> > Dear all,<br>
>>> >> ><br>
>>> >> > When applying fastICA algorithm in Matlab to a data consisting<br>
>>> >> > of 4 signals, I have noticed that only when I choose 4 IC to be<br>
>>> >> > estimated, the formula A*icasig =X actually works. After<br>
>>> >> > choosing 2 or 3 IC the data (X) is reconstructed imprecisely.<br>
>>> >> > Could you explain why? I wish to understand the methods fully.<br>
>>> >> ><br>
>>> >> > Thank you in advance,<br>
>>> >> > Ewa<br>
>>> >> > PhD student from Cracow<br>
>>> >> ><br>
>>> >> > _______________________________________________<br>
>>> >> > Eeglablist page: <a href="http://sccn.ucsd.edu/eeglab/eeglabmail.html" target="_blank">http://sccn.ucsd.edu/eeglab/eeglabmail.html</a><br>
>>> >> > To unsubscribe, send an empty email to<br>
>>> >> > <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<br>
>>> >> > mime" to <a href="mailto:eeglablist-request@sccn.ucsd.edu">eeglablist-request@sccn.ucsd.edu</a><br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> --<br>
>>> >> Makoto Miyakoshi<br>
>>> >> JSPS Postdoctral Fellow for Research Abroad Swartz Center for<br>
>>> >> Computational Neuroscience Institute for Neural Computation,<br>
>>> >> University of California San Diego<br>
>>> ><br>
>>> ><br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>> Makoto Miyakoshi<br>
>>> JSPS Postdoctral Fellow for Research Abroad Swartz Center for<br>
>>> Computational Neuroscience Institute for Neural Computation,<br>
>>> University of California San Diego<br>
>>><br>
>>><br>
>><br>
>><br>
><br>
><br>
><br>
> --<br>
> Makoto Miyakoshi<br>
> JSPS Postdoctral Fellow for Research Abroad Swartz Center for Computational<br>
> Neuroscience Institute for Neural Computation, University of California San<br>
> Diego<br>
><br>
<br>
<br>
<br>
--<br>
Makoto Miyakoshi<br>
JSPS Postdoctral Fellow for Research Abroad<br>
Swartz Center for Computational Neuroscience<br>
Institute for Neural Computation, University of California San Diego<br>
</div></div></blockquote></div><br>