我有时间序列数据,我试图在我的 HMM 模型中学习 3 个状态。我得到的输出是这个。我想为 3 个不同的数据点集群获得三个不同的状态。但是第一个集群具有从 HMM 学习的混合状态,而不是单一状态。
这是我的代码。
model = hmm.GaussianHMM(n_components=3, covariance_type="full", verbose = True, n_iter =1000)
model.fit(train_array1.reshape((-1,1)))
Z1 = model.predict(test_array1_s.reshape(-1,1))
p = model.predict_proba(test_array1_s.reshape(-1,1))
plt.plot(p)
测试数据的每个状态的概率图是这样的。
如何获得数据的三种不同状态?