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?
python
time-series
markov-process
user140323
la source
la source
Réponses:
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.
la source
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,
hmmlearn
est 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
_BaseHMM
classe dont la sous-classe personnalisée peut hériter pour l'implémentation de variantes HMMCompatible 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.
la source
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.
la source
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
la source
La bibliothèque ghmm est peut-être celle que vous recherchez.
Comme il est dit dans leur site Web:
Il a également une belle documentation et un tutoriel étape par étape pour se mouiller les pieds.
la source