def cktest(self, mlags=10, conf=0.95, err_est=False, n_jobs=1, show_progress=True): """ Conducts a Chapman-Kolmogorow test. Parameters ---------- mlags : int or int-array, default=10 multiples of lag times for testing the Model, e.g. range(10). A single int will trigger a range, i.e. mlags=10 maps to mlags=range(10). The setting None will choose mlags automatically according to the longest available trajectory conf : float, optional, default = 0.95 confidence interval err_est : bool, default=False compute errors also for all estimations (computationally expensive) If False, only the prediction will get error bars, which is often sufficient to validate a model. n_jobs : int, default=1 how many jobs to use during calculation show_progress : bool, default=True Show progressbars for calculation? Returns ------- cktest : :class:`ChapmanKolmogorovValidator <pyemma.msm.ChapmanKolmogorovValidator>` References ---------- This is an adaption of the Chapman-Kolmogorov Test described in detail in [1]_ to Hidden MSMs as described in [2]_. .. [1] Prinz, J H, H Wu, M Sarich, B Keller, M Senne, M Held, J D Chodera, C Schuette and F Noe. 2011. Markov models of molecular kinetics: Generation and validation. J Chem Phys 134: 174105 .. [2] F. Noe, H. Wu, J.-H. Prinz and N. Plattner: Projected and hidden Markov models for calculating kinetics and metastable states of complex molecules. J. Chem. Phys. 139, 184114 (2013) """ from pyemma.msm.estimators import ChapmanKolmogorovValidator ck = ChapmanKolmogorovValidator(self, self, _np.eye(self.nstates), mlags=mlags, conf=conf, err_est=err_est, n_jobs=n_jobs, show_progress=show_progress) ck.estimate(self._dtrajs_full) return ck
def cktest(self, nsets, memberships=None, mlags=10, conf=0.95, err_est=False, show_progress=True): """ Conducts a Chapman-Kolmogorow test. Parameters ---------- nsets : int number of sets to test on memberships : ndarray(nstates, nsets), optional optional state memberships. By default (None) will conduct a cktest on PCCA (metastable) sets. mlags : int or int-array, optional multiples of lag times for testing the Model, e.g. range(10). A single int will trigger a range, i.e. mlags=10 maps to mlags=range(10). The setting None will choose mlags automatically according to the longest available trajectory conf : float, optional confidence interval err_est : bool, optional compute errors also for all estimations (computationally expensive) If False, only the prediction will get error bars, which is often sufficient to validate a model. show_progress : bool, optional Show progressbars for calculation? References ---------- This test was suggested in [1]_ and described in detail in [2]_. .. [1] F. Noe, Ch. Schuette, E. Vanden-Eijnden, L. Reich and T. Weikl: Constructing the Full Ensemble of Folding Pathways from Short Off-Equilibrium Simulations. Proc. Natl. Acad. Sci. USA, 106, 19011-19016 (2009) .. [2] Prinz, J H, H Wu, M Sarich, B Keller, M Senne, M Held, J D Chodera, C Schuette and F Noe. 2011. Markov models of molecular kinetics: Generation and validation. J Chem Phys 134: 174105 """ from pyemma.msm.estimators import ChapmanKolmogorovValidator if memberships is None: self.pcca(nsets) memberships = self.metastable_memberships ck = ChapmanKolmogorovValidator(self, self, memberships, mlags=mlags, conf=conf, err_est=err_est) ck.estimate(self._dtrajs_full) return ck