markovmodel / PyEMMA

🚂 Python API for Emma's Markov Model Algorithms 🚂
http://pyemma.org
GNU Lesser General Public License v3.0
307 stars 118 forks source link

varify Markov model built by Umbrella sampling with PyEMMA #1517

Closed wyb2021 closed 2 years ago

wyb2021 commented 2 years ago

Hello there,

I have a quick question about this tutorial:

http://www.emma-project.org/latest/legacy-notebooks/methods/multi_ensemble/doublewell/PyEMMA.thermo.estimate_umbrella_sampling_-_asymmetric_double_well.html

So I have biased samplings (umbrella sampling ) and unbiased sampling trajectories. Based on my understanding, we usually use two ways together to verify our Markov model: one is the implied timescales and the other one is the CK test. However, CK test is only for unbiased trajectories. If I combined biased and unbiased trajectories together to build my own Markov model, how could I verify my Markov model beside the implied timescales method?

Thanks for your time.

clonker commented 2 years ago

Hi, in principle I think it is possible but currently not implemented. In the end what the ck-test does is verify that two covariance matrices coincide:

... where P(.) refers to the transition matrix of your MSM at a certain lagtime.

Because there typically is not enough data to generate and parametrize a meaningful test over the full discrete state space, a pcca course graining is performed beforehand and the covariance matrices are evaluated on the coarse-grained space. For MSMs we typically take f=g=p_0, where p_0 is the stationary distribution in a metastable set of states. With this you should be able to implement it "by hand".