Bibliothèque Python pour implémenter des modèles de Markov cachés

15

Quelle bibliothèque Python stable puis-je utiliser pour implémenter des modèles de Markov cachés? J'ai besoin qu'il soit raisonnablement bien documenté, car je n'ai jamais vraiment utilisé ce modèle auparavant.

Sinon, existe-t-il une approche plus directe pour effectuer une analyse chronologique sur un ensemble de données à l'aide de HMM?

user140323
la source
Il existe une implémentation alternative de sklearn HMM qui semble avoir des contributions actives qui peuvent être trouvées ici: github.com/hmmlearn/hmmlearn Je ne l'ai pas utilisé auparavant, donc je ne peux pas dire à quel point c'est bon, mais, en regardant les exemples, il semble être assez simple.
Kyle.

Réponses:

10

Pour une autre approche alternative, vous pouvez jeter un œil à la bibliothèque PyMC. Il y a un bon aperçu https://gist.github.com/fonnesbeck/342989 créé par Fonnesbeck qui vous guide à travers la création HMM.

Et si vous êtes vraiment passionné par le PyMC, il y a un livre open source impressionnant sur la modélisation bayésienne - https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers . Il ne décrit pas explicitement les processus de Markov cachés, mais il donne un très bon tutoriel sur la bibliothèque elle-même avec de nombreux exemples.

Snejana Shegheva
la source
8

En tant que mise à jour sur cette question, je pense que la réponse acceptée n'est pas la meilleure en 2017.

Comme suggéré dans les commentaires de Kyle, hmmlearnest actuellement la bibliothèque à utiliser pour les HMM en Python.

Plusieurs raisons à cela:

  • La documentation à jour , très détaillée et comprend un tutoriel

  • La _BaseHMMclasse dont la sous-classe personnalisée peut hériter pour l'implémentation de variantes HMM

  • Compatible avec les dernières versions de Python 3.5+

  • Utilisation intuitive

En face de cela, la ghmm bibliothèque ne prend pas en charge Python 3.x selon la documentation actuelle. La plupart des pages de documentation ont été générées en 2006. Il ne semble pas à première vue une bibliothèque de choix ...

Edit: toujours valable en 2018.

Eskapp
la source
5

La bibliothèque de grenade prend en charge HMM et la documentation est vraiment utile. Après avoir essayé avec de nombreuses bibliothèques hmm en python, je trouve que c'est assez bon.

Kirubakumaresh
la source
2

Pour une approche alternative, peut-être même pour aider à favoriser la compréhension, vous trouverez probablement une certaine utilité pour faire une analyse via R. Des didacticiels basés sur des séries temporelles simples abondent pour les quants [wannabe] qui devraient fournir un bootstrap. Partie 1 , partie 2 , partie 3 , partie 4 . Ceux-ci fournissent des sources pour la génération / réception de données ainsi que la manipulation, vous permettant de contourner une grande partie du travail pour pouvoir voir les méthodes HMM réelles au travail. Il existe des analogues directs aux implémentations Python.

En remarque, pour une introduction plus théorique, Rabiner pourrait peut- être fournir quelques idées

Shawn Mehan
la source
2

La bibliothèque ghmm est peut-être celle que vous recherchez.

Comme il est dit dans leur site Web:

Il est utilisé pour mettre en œuvre des structures de données et des algorithmes efficaces pour les HMM de base et étendus avec des émissions discrètes et continues. Il est livré avec des wrappers Python qui fournissent une interface beaucoup plus agréable et des fonctionnalités supplémentaires.

Il a également une belle documentation et un tutoriel étape par étape pour se mouiller les pieds.

Dawny33
la source