本文整理汇总了Python中msmbuilder.msm.MarkovStateModel.countsmat_方法的典型用法代码示例。如果您正苦于以下问题:Python MarkovStateModel.countsmat_方法的具体用法?Python MarkovStateModel.countsmat_怎么用?Python MarkovStateModel.countsmat_使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类msmbuilder.msm.MarkovStateModel
的用法示例。
在下文中一共展示了MarkovStateModel.countsmat_方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_2
# 需要导入模块: from msmbuilder.msm import MarkovStateModel [as 别名]
# 或者: from msmbuilder.msm.MarkovStateModel import countsmat_ [as 别名]
def test_2():
model = MarkovStateModel(verbose=False)
C = np.array([
[4380, 153, 15, 2, 0, 0],
[211, 4788, 1, 0, 0, 0],
[169, 1, 4604, 226, 0, 0],
[3, 13, 158, 4823, 3, 0],
[0, 0, 0, 4, 4978, 18],
[7, 5, 0, 0, 62, 4926]], dtype=float)
C = C + 1.0 / 6.0
model.n_states_ = C.shape[0]
model.countsmat_ = C
model.transmat_, model.populations_ = model._fit_mle(C)
n_trials = 5000
random = np.random.RandomState(0)
all_timescales = np.zeros((n_trials, model.n_states_ - 1))
all_eigenvalues = np.zeros((n_trials, model.n_states_))
for i in range(n_trials):
T = np.vstack([random.dirichlet(C[i]) for i in range(C.shape[0])])
u = _solve_msm_eigensystem(T, k=6)[0]
all_eigenvalues[i] = u
all_timescales[i] = -1 / np.log(u[1:])
pp.figure(figsize=(12, 8))
for i in range(3):
pp.subplot(2,3,i+1)
pp.title('Timescale %d' % i)
kde = scipy.stats.gaussian_kde(all_timescales[:, i])
xx = np.linspace(all_timescales[:,i].min(), all_timescales[:,i].max())
r = scipy.stats.norm(loc=model.timescales_[i], scale=model.uncertainty_timescales()[i])
pp.plot(xx, kde.evaluate(xx), c='r', label='Samples')
pp.plot(xx, r.pdf(xx), c='b', label='Analytic')
for i in range(1, 4):
pp.subplot(2,3,3+i)
pp.title('Eigenvalue %d' % i)
kde = scipy.stats.gaussian_kde(all_eigenvalues[:, i])
xx = np.linspace(all_eigenvalues[:,i].min(), all_eigenvalues[:,i].max())
r = scipy.stats.norm(loc=model.eigenvalues_[i], scale=model.uncertainty_eigenvalues()[i])
pp.plot(xx, kde.evaluate(xx), c='r', label='Samples')
pp.plot(xx, r.pdf(xx), c='b', label='Analytic')
pp.tight_layout()
pp.legend(loc=4)
pp.savefig('test_msm_uncertainty_plots.png')
示例2: test_countsmat
# 需要导入模块: from msmbuilder.msm import MarkovStateModel [as 别名]
# 或者: from msmbuilder.msm.MarkovStateModel import countsmat_ [as 别名]
def test_countsmat():
model = MarkovStateModel(verbose=False)
C = np.array([
[4380, 153, 15, 2, 0, 0],
[211, 4788, 1, 0, 0, 0],
[169, 1, 4604, 226, 0, 0],
[3, 13, 158, 4823, 3, 0],
[0, 0, 0, 4, 4978, 18],
[7, 5, 0, 0, 62, 4926]], dtype=float)
C = C + (1.0 / 6.0)
model.n_states_ = C.shape[0]
model.countsmat_ = C
model.transmat_, model.populations_ = model._fit_mle(C)
n_trials = 5000
random = np.random.RandomState(0)
all_timescales = np.zeros((n_trials, model.n_states_ - 1))
all_eigenvalues = np.zeros((n_trials, model.n_states_))
for i in range(n_trials):
T = np.vstack([random.dirichlet(C[i]) for i in range(C.shape[0])])
u = _solve_msm_eigensystem(T, k=6)[0]
u = np.real(u) # quiet warning. Don't know if this is legit
all_eigenvalues[i] = u
all_timescales[i] = -1 / np.log(u[1:])