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


15

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

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


sklearn HMM的另一种实现似乎可以在这里找到有效的贡献:github.com/hmmlearn/hmmlearn我以前没有使用过,所以我不能说它的优点,但是,请看一下这些示例似乎很简单。
凯尔。

Answers:


10

对于另一种替代方法,您可以看一下PyMC库。Fonnesbeck创建了一个不错的要点https://gist.github.com/fonnesbeck/342989,它将引导您完成HMM的创建。

而且,如果您真的很热衷于PyMC,那么会有一本关于贝叶斯建模的很棒的开源书-https: //github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers。它没有明确描述“隐马尔可夫过程”,但是通过大量示例对库本身提供了很好的教程。


8

作为此问题的更新,我认为公认的答案并不是2017年的最佳答案。

正如Kyle在评论中所建议的那样,hmmlearn当前是Python中HMM附带的库。

原因如下:

  • 上最新的文件,这是非常详细,包括教程

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

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

  • 直观使用

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

编辑:在2018年仍然有效。



2

对于另一种方法,甚至可能有助于增进理解,您可能还会发现一些通过R进行分析的实用程序。基于简单的基于时间序列的教程比比皆是,这些[wannabe]数量应该提供自举。第1部分第2部分第3 部分第4部分。这些提供了数据生成/获取和操作的源,使您可以绕开许多工作,以便能够看到实际的HMM方法。Python实现有直接的相似之处。

附带说明一下,对于更理论的介绍,也许Rabiner可能会提供一些见解


2

GHMM库可能是你正在寻找一个。

正如他们网站上所说的:

它用于为离散和连续发射的基本HMM和扩展HMM实现高效的数据结构和算法。它带有Python包装器,提供了更好的界面和附加功能。

它还有一个很好的文档和逐步教程,可帮助您弄湿自己的脚。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.