Pyemma过渡矩阵返回意外大小的数组

2024-05-29 04:17:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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

提前谢谢


Tags: 数据importnumpybymodel状态np情况
1条回答
网友
1楼 · 发布于 2024-05-29 04:17:07

如果根据数据进行估计,PyEMMA将使用最大的连通状态子集进行估计。背景是,你不能给转移矩阵一个唯一的度量,当它不连通时,例如每个状态都可以从任何其他状态到达

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

打印(msm.active\u集)

产生一些与描述状态索引相对应的整数

相关问题 更多 >

    热门问题