Python-Bibliothek zur Implementierung von Hidden-Markov-Modellen


15

Mit welcher stabilen Python-Bibliothek kann ich Hidden Markov Models implementieren? Ich muss einigermaßen gut dokumentiert sein, da ich dieses Modell noch nie wirklich benutzt habe.

Alternativ gibt es einen direkteren Ansatz zur Durchführung einer Zeitreihenanalyse für einen Datensatz unter Verwendung von HMM?


Es gibt eine alternative Implementierung von sklearn HMM mit anscheinend aktiven Beiträgen, die hier zu finden sind: github.com/hmmlearn/hmmlearn Ich habe es vorher noch nicht verwendet, kann also nicht sagen, wie gut es ist, aber ich sehe es mir an In den Beispielen scheint es ziemlich einfach zu sein.
Kyle.

Antworten:


10

Ein anderer alternativer Ansatz ist die PyMC-Bibliothek. Es gibt eine gute Zusammenfassung von https://gist.github.com/fonnesbeck/342989, die von Fonnesbeck erstellt wurde und Sie durch die HMM-Erstellung führt.

Und wenn Sie sich wirklich für PyMC interessieren, gibt es ein großartiges Open-Source-Buch über Bayesian Modeling - https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers . Versteckte Markov-Prozesse werden nicht explizit beschrieben, es gibt jedoch ein sehr gutes Tutorial über die Bibliothek selbst mit zahlreichen Beispielen.


8

Als Update zu dieser Frage glaube ich, dass die akzeptierte Antwort nicht die beste von 2017 ist.

Wie in den Kommentaren von Kyle vorgeschlagen, hmmlearnhandelt es sich derzeit um die Bibliothek für HMMs in Python.

Mehrere Gründe dafür:

  • Die aktuelle Dokumentation , die sehr ausführlich ist und ein Tutorial enthält

  • Die _BaseHMMKlasse, von der eine benutzerdefinierte Unterklasse zur Implementierung von HMM-Varianten erben kann

  • Kompatibel mit den letzten Versionen von Python 3.5+

  • Intuitive Bedienung

Im Gegensatz dazu unterstützt die ghmm Bibliothek Python 3.x gemäß der aktuellen Dokumentation nicht. Die meisten Dokumentationsseiten wurden 2006 erstellt. Es scheint auf den ersten Blick keine Bibliothek der Wahl zu sein ...

Bearbeiten: Noch gültig im Jahr 2018.



2

Für einen alternativen Ansatz, vielleicht sogar um das Verständnis zu fördern, werden Sie wahrscheinlich einen Nutzen darin finden, eine Analyse über R durchzuführen. Einfache, auf Zeitreihen basierende Tutorials gibt es zuhauf für [Möchtegern] Quanten, die einen Bootstrap bieten sollten. Teil 1 , Teil 2 , Teil 3 , Teil 4 . Diese bieten Quellen für die Generierung / Erfassung von Daten sowie für die Manipulation, sodass Sie einen Großteil der Arbeit umgehen können, um die tatsächlichen HMM-Methoden bei der Arbeit zu sehen. Es gibt direkte Analogien zu den Python-Implementierungen.

Als Randnotiz, für eine theoretischere Einführung, könnte Rabiner vielleicht einige Einsichten liefern


2

Die Ghmm- Bibliothek ist möglicherweise die, nach der Sie suchen.

Wie es auf ihrer Website heißt:

Es wird zur Implementierung effizienter Datenstrukturen und Algorithmen für grundlegende und erweiterte HMMs mit diskreten und kontinuierlichen Emissionen verwendet. Es kommt mit Python-Wrappern, die eine viel schönere Oberfläche und zusätzliche Funktionalität bieten.

Es hat auch eine schöne Dokumentation und eine Schritt-für-Schritt-Anleitung, um Ihre Füße nass zu machen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.