用于实现隐马尔可夫模型的 Python 库

数据挖掘 Python 时间序列 马尔科夫过程
2021-09-22 00:47:38

我可以使用什么稳定的 Python 库来实现隐马尔可夫模型?我需要对它进行合理的记录,因为我以前从未真正使用过这个模型。

或者,是否有更直接的方法来使用 HMM 对数据集执行时间序列分析?

4个回答

对于另一种替代方法,您可以查看 PyMC 库。Fonnesbeck 创建了一个很好的要点,它可以引导您完成 HMM 的创建过程。

如果你真的对 PyMC 很感兴趣,这里有一本很棒的关于贝叶斯建模的开源书籍。它没有明确描述隐马尔可夫过程,但它提供了一个关于库本身的非常好的教程,其中包含大量示例。

作为这个问题的更新,我认为接受的答案并不是 2017 年最好的。

正如 Kyle 在评论中所建议的,hmmlearn目前是 Python 中 HMM 的库。

造成这种情况的几个原因:

  • 最新的文档非常详细,包括教程

  • _BaseHMM自定义子类可以继承的类以实现 HMM 变

  • 与 Python 3.5+ 的最新版本兼容

  • 直观使用

与此相反,根据当前文档,该ghmm 不支持 Python 3.x。大多数文档页面都是在 2006 年生成的。乍一看,它似乎不是首选库...

编辑:在 2018 年仍然有效。

pomegranate库支持 HMM,文档非常有用。在 python 中尝试了许多 hmm 库之后,我发现这非常好。

对于另一种方法,甚至可能有助于促进理解,您可能会在通过 R 进行一些分析时发现一些实用程序。基于简单时间序列的教程比比皆是 [想要] Quant,应该提供引导。第 1部分,第 2部分,第 3部分,第 4 部分这些提供了数据生成/接收和操作的来源,允许您绕过大部分工作,以便能够查看实际的 HMM 方法在工作中。Python 实现有直接的类似物。

作为旁注,对于更理论的介绍,也许拉宾纳可能会提供一些见解