def test_score_3(): ds = MullerPotential(random_state=0).get_cached().trajectories cluster = NDGrid(n_bins_per_feature=6, min=[PARAMS['MIN_X'], PARAMS['MIN_Y']], max=[PARAMS['MAX_X'], PARAMS['MAX_Y']]) assignments = cluster.fit_transform(ds) train_indices = [9, 4, 3, 6, 2] test_indices = [8, 0, 5, 7, 1] temp = '1.0929e-02 5.4147e-02 9.8362e-02 0.1000e+00 6.0455e-02 2.8775e-02\ 6.6456e-02 3.3957e-02 4.1484e-03 0.1000e+00 5.0847e-02 1.1516e-02\ 3.5266e-02 1.2830e-02 0.1000e+00 2.1801e-02 1.6639e-02 9.4932e-03\ 0.1000e+00 0.1000e+00 1.1050e-01 4.0076e-03 0.1000e+00 0.1000e+00\ 1.8930e-02 -7.1060e+00 -4.5787e+00 -2.4950e+00 -4.0964e+00 -7.4127e+00\ -6.7574e+00 -4.7137e+00 -3.9530e+00 -4.5781e+00 -7.4585e+00 -6.4634e+00\ -5.8060e+00 -5.4783e+00 -5.3519e+00 -7.4653e+00 -6.5113e+00 -2.1477e+00\ -4.8138e+00 -9.7187e+00 -9.0358e+00 -1.4599e+00 -8.8985e-01 -8.3461e+00\ -7.0930e+00 -2.7618e+00 -6.7421e+00' model = PESContinuousTimeMSM(lag_time=3, n_timescales=1, sliding_window=False, ergodic_cutoff=1) model.theta_ = list(map(np.float64, temp.split())) train_data = [assignments[i] for i in train_indices] test_data = [assignments[i] for i in test_indices] model.fit(train_data) print(model.summarize()) train = model.score_ test = model.score(test_data) print(train, test)
def test_hessian_3(): grid = NDGrid(n_bins_per_feature=4, min=-np.pi, max=np.pi) trajs = DoubleWell(random_state=0).get_cached().trajectories seqs = grid.fit_transform(trajs) seqs = [seqs[i] for i in range(10)] lag_time = 10 model = PESContinuousTimeMSM(verbose=False, lag_time=lag_time) model.fit(seqs) msm = MarkovStateModel(verbose=False, lag_time=lag_time) print(model.summarize()) # print('MSM timescales\n', msm.fit(seqs).timescales_) print('Uncertainty K\n', model.uncertainty_K()) print('Uncertainty eigs\n', model.uncertainty_eigenvalues())