Python中的输入输出隐藏Markov模型实现

时间:2019-06-18 03:08:41

标签: python hidden-markov-models markov-models

我正在尝试用输入输出体系结构实现隐马尔可夫模型,但是我找不到相同的任何良好的python实现。

任何人都可以共享Python程序包吗,可以考虑对HMM使用以下实现。

允许连续排放。 允许使用协变量的功能(即I / O HMM中的自变量)。

此刻,我正在努力寻找相同的python实现。

我在hmmlearn中找不到相关示例。

这里是我测试过的一些库:

hmmlearn:hmmlearn允许将多个功能传递给发射/观测,但不提供支持包含协变量(即自变量)的功能。

hmms:不支持添加连续发射的功能,也不支持添加自变量。

IOHMM:我可以使用此库训练HMM模型,但在训练模型后找不到用于做出预测的文档。

因此,我正在寻找符合目的的软件包。

from IOHMM import UnSupervisedIOHMM
from IOHMM import OLS, DiscreteMNL, CrossEntropyMNL, forward_backward

SHMM = UnSupervisedIOHMM(num_states=3, max_EM_iter=200, EM_tol=1e-6)

SHMM.set_models(model_emissions = [OLS(est_stderr=True)], 
                model_transition=CrossEntropyMNL(solver='lbfgs'),
                model_initial=CrossEntropyMNL(solver='lbfgs'))

SHMM.set_inputs(covariates_initial = [], covariates_transition = [], covariates_emissions = [['Insulin']])


SHMM.set_outputs([['Glucose']])

SHMM.set_data([data])

SHMM.train() 

经过上述训练,我不知道如何获得发射概率和隐藏状态的顺序。

0 个答案:

没有答案