Библиотека Python для реализации скрытых марковских моделей

15

Какую стабильную библиотеку Python я могу использовать для реализации скрытых марковских моделей? Мне нужно, чтобы это было достаточно хорошо задокументировано, потому что я никогда раньше не использовал эту модель.

В качестве альтернативы, есть ли более прямой подход к выполнению анализа временных рядов на наборе данных с использованием HMM?

user140323
источник
Существует альтернативная реализация 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 году.

Eskapp
источник
5

Библиотека граната имеет поддержку HMM, и документация действительно полезна. Попробовав многие библиотеки hmm в python, я нахожу это довольно хорошим.

Kirubakumaresh
источник
2

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

Как примечание, для более теоретического введения, возможно, Рабинер мог бы дать некоторые идеи

Шон Механ
источник
2

Возможно, вам нужна библиотека ghmm .

Как сказано на их сайте:

Он используется для реализации эффективных структур данных и алгоритмов для базовых и расширенных HMM с дискретным и непрерывным излучением. Это идет с обертками Python, которые обеспечивают намного более приятный интерфейс и добавленную функциональность.

В нем также есть хорошая документация и пошаговое руководство по увлажнению ног.

Dawny33
источник