Skip to content
This repository has been archived by the owner on Sep 11, 2023. It is now read-only.

Dimensionality reduction in tica confusion #1511

Closed
eackad opened this issue Sep 17, 2021 · 2 comments
Closed

Dimensionality reduction in tica confusion #1511

eackad opened this issue Sep 17, 2021 · 2 comments

Comments

@eackad
Copy link

eackad commented Sep 17, 2021

I've examined by tica results (out of 1992 dihedral features) and want to only keep the top 175. To do so, I'm trying to use the dim parameter:
nticas = 175 tica = pyemma.coordinates.tica(feats_orig, stride=1, lag=1,dim=nticas) tica_output = tica.get_output()
However, this does not seem to have an effect (or not the effect I expect). I would expect to now have 175 eigenvalues since I have 175 ticas I wanted to keep. However if I print(len(tica.eigenvalues)) I get 1992. But print(tica) gives
TICA(commute_map=False, dim=175, epsilon=1e-06, kinetic_map=True, lag=1,
ncov_max=inf, reversible=True, skip=0, stride=1, var_cutoff=0.95,
weights=None)
When I examine the tica_output object I find it only kept 175 of the features. I'd be great if someone could explain what the tica object is then? I can't find the docs on get_output() so I'm not clear on the difference.

@clonker
Copy link
Member

clonker commented Sep 20, 2021

As you already observed, the output is in the expected 175-dimensional space.

TICA is based on solving a generalized eigenvalue problem in the full space, meaning the decomposition contains all eigenvalues (up to a truncation threshold). The magnitude of the eigenvalues can be related to the timescales of processes, meaning that larger eigenvalues are 'slower' then smaller ones. The projection itself is then performed by using the top dim eigenvectors corresponding to the largest dim eigenvalues -- or rather, by evaluating the top dim eigenfunctions on the input data.

@clonker
Copy link
Member

clonker commented Dec 22, 2021

I am assuming this clarified it, closing the issue.

@clonker clonker closed this as completed Dec 22, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants