我试图使用隐马尔可夫模型(HMM)来解决一个问题,即我在每个时间点都有不同的观察变量(Yti)和一个隐藏变量(Xt) . 为清楚起见,让我们假设所有观察到的变量(Yti)都是分类的,其中每个Yti传达不同的信息,因此可能具有不同的基数 . 下图给出了一个说明性的例子,其中M = 3 .
我的目标是使用Baum-Welch算法从我观察到的变量序列(Yti)中训练HMM的过渡,发射和先验概率 . 比方说,Xt最初会有2个隐藏状态 .
我已经阅读了一些教程(包括着名的Rabiner论文),并浏览了几个HMM软件包的代码,即' HMM Toolbox in MatLab ' and ' hmmpytk package in Python '. Overall, I did an extensive web search and all the resources -that I could find- only cover the case, where there is only a single observed variable (M=1) at each time point. This increasingly makes me think HMM' s不适合具有多个观察变量的情况 .
是否可以将图中描述的问题建模为HMM?
如果是,如何修改Baum-Welch算法以满足基于多变量观测(发射)概率训练HMM参数的需要?
如果没有,您是否知道更适合图中所示情况的方法?
谢谢 .
Edit: 在这个paper中,图中描述的情况被描述为动态朴素贝叶斯,其中 - 在训练和估计算法方面 - 需要对单变量HMM略微扩展Baum-Welch和Viterbi算法 .