[FieldTrip] Decoding principal components vs. Backprojected sensor-level data

Ingmar de Vries i.e.j.de.vries at gmail.com
Fri Sep 8 17:32:57 CEST 2023


Hi Benjy,

I think components vs. back projected signals do not contain the exact same
information. If you have your components, you can't just transform back to
your original signals: The component time series themselves do not contain
information regarding how much each of these components loads onto each of
the original signals, which is what you need for computing the back
projection. So the back projected signal combines these two pieces of
information.

Likely your successful decoding also depends on this information, i.e., not
just which PC components are present in the signal, but actually also the
pattern across the original signals matters.

That's my guess, maybe somebody else has another idea?

Cheers,
Ingmar

Op vr 8 sep 2023 om 16:04 schreef Barnett, Benjy via fieldtrip <
fieldtrip at science.ru.nl>:

> Hey everyone,
>
> I’m trying to work out why I am getting different decoding results using
> what I think to be rather equivalent pipelines.
>
> I am currently try to decode trials from my dataset after removing the
> first principal component. However, I’m getting drastically different
> results depending on how I do the component removal.
>
> If I follow what I imagine is the recommended method, I do this:
>
>
>     cfg = [];
>     cfg.method = 'pca';
>     cfg.updatesens = 'yes';
>     comp = ft_componentanalysis(cfg, data);
>
>    %remove component
>     cfg  = [];
>     cfg.component = 1;
>     data = ft_rejectcomponent(cfg,comp,data); %data to be decoded
>
>
> However, I could instead just decode the components after removing the
> first, like this:
>
>     cfg = [];
>     cfg.method = 'pca';
>     cfg.updatesens = 'yes';
>     comp = ft_componentanalysis(cfg, data);
>
>    %remove component
>     cfg = [];
>     cfg.channel = comp.label(2:end);
>     data = ft_selectdata(cfg,comp); %data to be decoded
>
>
> The first method (back projection) gives me results almost identical to
> that of the decoding of the full, original data - whereas the second method
> (decoding raw components) abolishes all successful decoding.
>
> I’m not sure what the technical difference is here, because in my mind the
> information contained in both datasets (components vs. back projected) is
> the same, so I’m not sure why one abolishes decoding but the other does
> not. As such, I’m not sure which method is the correct one for my purposes
> of simply removing the first principal component prior to decoding.
>
> I appreciate any guidance or help,
> Benjy
> _______________________________________________
> fieldtrip mailing list
> https://mailman.science.ru.nl/mailman/listinfo/fieldtrip
> https://urldefense.com/v3/__https://doi.org/10.1371/journal.pcbi.1002202__;!!HJOPV4FYYWzcc1jazlU!8KWnZwZN8Tdwovwcutxj69DnEjGA2wx0XF9LJCby411SAAeAslx7eP-2Be18OPo-CvuZxIj67D_Y7Nn2ztdymv_SW1KXNQ$ 
>


-- 
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
*Ingmar de Vries*
*Researcher @ Donders Institute, Radboud University, NL*
*& guest researcher @ CIMeC, University of Trento, IT*
*i.e.j.de.vries at gmail.com <i.e.j.de.vries at gmail.com>*

*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20230908/53491a03/attachment.htm>


More information about the fieldtrip mailing list