Jakiej stabilnej biblioteki Python mogę użyć do implementacji ukrytych modeli Markowa? Potrzebuję go w miarę dobrze udokumentować, ponieważ nigdy tak naprawdę nie korzystałem z tego modelu.
Alternatywnie, czy istnieje bardziej bezpośrednie podejście do przeprowadzania analizy szeregów czasowych na zbiorze danych przy użyciu HMM?
python
time-series
markov-process
użytkownik140323
źródło
źródło
Odpowiedzi:
Aby uzyskać inne alternatywne podejście, możesz spojrzeć na bibliotekę PyMC. Istnieje dobra treść https://gist.github.com/fonnesbeck/342989 stworzona przez Fonnesbeck, która przeprowadzi cię przez proces tworzenia HMM.
A jeśli naprawdę zainteresujesz się PyMC, istnieje niesamowita książka open source o modelowaniu bayesowskim - https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers . Nie opisuje on wyraźnie Ukrytych Procesów Markowa, ale daje bardzo dobry samouczek na temat samej biblioteki z dużą ilością przykładów.
źródło
Jako aktualizację tego pytania uważam, że przyjęta odpowiedź nie jest najlepsza od 2017 r.
Jak zasugerowano w komentarzach Kyle'a,
hmmlearn
obecnie jest to biblioteka, w której można używać HMM w Pythonie.Kilka powodów:
Dokumentacja up-to-date , że jest bardzo szczegółowy i zawiera samouczek
_BaseHMM
Klasa, z której niestandardowych podklasa może dziedziczyć dla realizacji warianty hmmKompatybilny z ostatnimi wersjami Python 3.5+
Intuicyjne użytkowanie
Przeciwnie,
ghmm
biblioteka nie obsługuje Python 3.x zgodnie z bieżącą dokumentacją. Większość stron z dokumentacją została wygenerowana w 2006 roku. Na pierwszy rzut oka nie wygląda na bibliotekę z wyboru ...Edycja: Nadal obowiązuje w 2018 r.
źródło
biblioteka granatów ma obsługę HMM, a dokumentacja jest naprawdę pomocna. Po wypróbowaniu wielu bibliotek hmm w Pythonie uważam, że jest to całkiem dobre.
źródło
Dla alternatywnego podejścia, być może nawet w celu ułatwienia zrozumienia, prawdopodobnie znajdziesz jakąś użyteczność w przeprowadzaniu analizy za pośrednictwem R. Proste samouczki oparte na szeregach czasowych obfitują w kwanty [wannabe], które powinny zapewnić bootstrap. Część 1 , Część 2 , Część 3 , Część 4 . Zapewniają one źródła do generowania / pobierania danych, a także manipulacji, co pozwala ominąć większość pracy, aby móc zobaczyć rzeczywiste metody HMM w pracy. Istnieją bezpośrednie analogie do implementacji języka Python.
Na marginesie, dla bardziej teoretycznego wprowadzenia, być może Rabiner może dostarczyć pewnych spostrzeżeń
źródło
Ghmm biblioteka może być ten, który szukasz.
Jak powiedziano na ich stronie internetowej:
Ma również ładną dokumentację i samouczek krok po kroku, jak zmoczyć stopy.
źródło