给定 hmmlearn 上的隐马尔可夫模型,是否有一个函数可以计算观察序列 T 的概率?

Is there a function that computes the probability of a sequence T of observations given a hidden Markov model on hmmlearn?

我有一个使用 hmmlearn.fit 函数拟合的 GaussianHMM。我还有一堆观察序列,我想根据我的拟合模型计算每个序列发生的概率。我查看了 hmmlearn 的文档,但我找不到完全符合我要求的方法。在这种情况下,我是否只需要编写前向-后向算法的代码?如果我对前向后向编码,我还需要发射矩阵,hmmlearn 没有给出。

有人对此有什么建议吗?谢谢!

I also have a bunch of sequences of observations and I want to compute the probability of each sequence happening given my fitted model

  1. 您可能正在寻找的是 score 函数,用于评估序列的概率(即 model.score(X))。请注意,这是对数概率,因为 hmmlearn 针对下溢错误进行了调整。

In case I code the forward-backward, I would also need the emission matrix, which is not given by hmmlearn.

  1. 虽然 GaussianHMM 没有排放矩阵,但您可以选择离散化排放并利用 MultinomialHMM,这允许您指定并稍后提取排放矩阵 model.emissionprob_.