Бібліотека Python для реалізації прихованих моделей Маркова


15

Яку стабільну бібліотеку Python можна використовувати для реалізації прихованих моделей Маркова? Мені потрібно, щоб це було досить добре зафіксовано, тому що я ніколи не використовував цю модель раніше.

Як варіант, чи існує більш прямий підхід до аналізу часових рядів набору даних за допомогою HMM?


Є альтернативна реалізація sklearn HMM, яка, схоже, має активні внески, які можна знайти тут: github.com/hmmlearn/hmmlearn Я раніше не використовував її, тому я не можу говорити про те, наскільки це добре, але, дивлячись на на прикладах, це видається досить прямим.
Кайл.

Відповіді:


10

Для іншого альтернативного підходу ви можете подивитися в бібліотеці PyMC. Існує хороша історія https://gist.github.com/fonnesbeck/342989, створена Fonnesbeck, яка проводить вас через створення HMM.

І якщо ви по-справжньому нетерплячі з PyMC, є дивовижна книга з відкритим кодом про байєсівське моделювання - https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers . Він прямо не описує прихованих процесів Маркова, але дає дуже хороший підручник щодо самої бібліотеки з великою кількістю прикладів.


8

Як оновлення цього питання, я вважаю, що прийнята відповідь не найкраща станом на 2017 рік.

Як було запропоновано в коментарях Кайла, hmmlearnнаразі бібліотека для HMM в Python.

Для цього є кілька причин:

  • Актуальна документація , яка є дуже детальною і включає навчальний посібник

  • _BaseHMMКлас , від якого призначеного для користувача підклас може успадковувати для реалізації варіантів HMM

  • Сумісний з останніми версіями Python 3.5+

  • Інтуїтивне використання

Навпаки цього, ghmm бібліотека не підтримує Python 3.x відповідно до чинної документації. Більшість сторінок документації створені у 2006 році. На перший погляд це не схожа бібліотека на вибір ...

Редагувати: Все ще діє у 2018 році.


5

гранатна бібліотека має підтримку HMM, і документація дуже корисна. Спробувавши з багатьма бібліотеками hmm у python, я вважаю це досить непоганим.


2

Для альтернативного підходу, можливо, навіть для сприяння розумінню, ви, мабуть, знайдете деяку корисність для того, щоб зробити якийсь аналіз через R. Прості підручники, засновані на часових рядах, містять для [wannabe] квінтів, які повинні забезпечити завантажувальну систему. Частина 1 , частина 2 , частина 3 , частина 4 . Вони надають джерела для генерації / споживання даних, а також для маніпуляцій, що дозволяє вам обійти більшу частину роботи, щоб мати можливість бачити фактичні методи HMM на роботі. Існують прямі аналоги реалізаціям Python.

В якості додаткового зауваження, для більш теоретичного вступу, можливо, Рабінер може дати деякі уявлення


2

Бібліотека ghmm може бути тією, яку ви шукаєте.

Як сказано на їхньому веб-сайті:

Він використовується для впровадження ефективних структур даних та алгоритмів для базових та розширених ГММ з дискретними та постійними викидами. Він постачається з обгортками Python, які забезпечують набагато приємніший інтерфейс та додаткову функціональність.

У ньому також є приємна документація та покроковий посібник для намокання ніг.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.