当前位置: 首页>>代码示例>>Python>>正文


Python MarkovStateModel.uncertainty_eigenvalues方法代码示例

本文整理汇总了Python中msmbuilder.msm.MarkovStateModel.uncertainty_eigenvalues方法的典型用法代码示例。如果您正苦于以下问题:Python MarkovStateModel.uncertainty_eigenvalues方法的具体用法?Python MarkovStateModel.uncertainty_eigenvalues怎么用?Python MarkovStateModel.uncertainty_eigenvalues使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在msmbuilder.msm.MarkovStateModel的用法示例。


在下文中一共展示了MarkovStateModel.uncertainty_eigenvalues方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_2

# 需要导入模块: from msmbuilder.msm import MarkovStateModel [as 别名]
# 或者: from msmbuilder.msm.MarkovStateModel import uncertainty_eigenvalues [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')
开发者ID:back2mars,项目名称:msmbuilder,代码行数:48,代码来源:test_msm_uncertainty.py


注:本文中的msmbuilder.msm.MarkovStateModel.uncertainty_eigenvalues方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。