[Eeglablist] Question regarding fastICA

Ewa Beldzik ewa.beldzik at gmail.com
Tue May 15 03:02:12 PDT 2012


Dear Arno,

If I may ask, which method is applied to EEGlab then?

Best,
Ewa

On 15 May 2012 07:29, Arnaud Delorme <arno at ucsd.edu> wrote:

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


More information about the eeglablist mailing list