gpt4 book ai didi

python - Pyemma 转换矩阵返回意外大小的数组

转载 作者:行者123 更新时间:2023-12-01 14:04:28 25 4
gpt4 key购买 nike

我正在使用 pyemma做一些马尔可夫操作。具体来说,我想建立一个状态转移矩阵。在大多数情况下,pyemma 工作正常,但在某些情况下,转换矩阵所表示的状态数与数据中实际存在的状态数不同。

例如:

import numpy as np
from pyemma import msm

sequence = np.array([21, 21, 32 ,32 ,55 ,22 ,33 ,11 ,11 ,22 ,44 ,44 ,44 ,33 ,11 ,44 ,99])
vals = np.unique(sequence)
#note there are 8 unique states so we expect 8 by 8 transition matrix

model = msm.estimate_markov_model(sequence, 1)
transitionMatrix = model.transition_matrix
#transition matrix is 4 by 4

为什么转移矩阵不是 8×8 的?

提前致谢。

最佳答案

如果您根据数据进行估计,PyEMMA 将使用最大的连通状态子集来进行估计。背景是,当转换矩阵未连接时,您无法为其提供唯一的度量,例如每个州都可以从任何其他州到达。

您可以通过查看生成的 MSM 对象来检查连接了哪些状态:

打印(msm.active_set)

产生一些对应于离散状态索引的整数。

关于python - Pyemma 转换矩阵返回意外大小的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55921075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com