[Eeglablist] Question regarding fastICA
Ewa Beldzik
ewa.beldzik at gmail.com
Mon May 14 10:07:19 PDT 2012
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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20120514/c9244db0/attachment.html>
More information about the eeglablist
mailing list