Pustaka Python untuk mengimplementasikan Hidden Markov Models

15

Pustaka Python stabil apa yang dapat saya gunakan untuk mengimplementasikan Hidden Markov Models? Saya perlu didokumentasikan dengan cukup baik, karena saya tidak pernah benar-benar menggunakan model ini sebelumnya.

Atau, apakah ada pendekatan yang lebih langsung untuk melakukan analisis deret waktu pada set data menggunakan HMM?

pengguna140323
sumber
Ada implementasi alternatif dari HMM sklearn yang tampaknya memiliki kontribusi aktif yang dapat ditemukan di sini: github.com/hmmlearn/hmmlearn Saya belum pernah menggunakannya sebelumnya, jadi saya tidak bisa bicara seberapa bagusnya, tapi, melihat pada contohnya, tampaknya cukup mudah.
Kyle.

Jawaban:

10

Untuk pendekatan alternatif lain, Anda bisa melihat di perpustakaan PyMC. Ada intisari bagus https://gist.github.com/fonnesbeck/342989 yang dibuat oleh Fonnesbeck yang menuntun Anda melalui kreasi HMM.

Dan jika Anda menjadi sangat bersemangat tentang PyMC, ada buku sumber terbuka yang mengagumkan tentang Bayesian Modeling - https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers . Itu tidak secara eksplisit menggambarkan Proses Markov Tersembunyi, tetapi memberikan tutorial yang sangat baik di perpustakaan itu sendiri dengan banyak contoh.

Snejana Shegheva
sumber
8

Sebagai pembaruan pada pertanyaan ini, saya yakin jawaban yang diterima bukan yang terbaik pada 2017.

Seperti yang disarankan dalam komentar oleh Kyle, hmmlearnsaat ini perpustakaan untuk pergi dengan HMMs di Python.

Beberapa alasan untuk ini:

  • The up-to-date dokumentasi , yang sangat rinci dan termasuk tutorial

  • The _BaseHMMkelas dari yang subclass kustom dapat mewarisi untuk menerapkan varian HMM

  • Kompatibel dengan versi terakhir Python 3.5+

  • Penggunaan intuitif

Berlawanan dengan ini, ghmm perpustakaan tidak mendukung Python 3.x sesuai dengan dokumentasi saat ini. Sebagian besar halaman dokumentasi telah dibuat pada tahun 2006. Tampaknya tidak sekilas perpustakaan pilihan ...

Sunting: Masih valid pada 2018.

Eskapp
sumber
5

perpustakaan delima memiliki dukungan untuk HMM dan dokumentasi sangat membantu. Setelah mencoba dengan banyak perpustakaan hmm di python, saya menemukan ini cukup bagus.

Kirubakumaresh
sumber
2

Untuk pendekatan alternatif, bahkan mungkin untuk membantu menumbuhkan pemahaman, Anda mungkin akan menemukan beberapa utilitas dalam melakukan beberapa analisis melalui R. Tutorial berbasis seri waktu sederhana berlimpah untuk pertanyaan [wannabe] yang seharusnya menyediakan bootstrap. Bagian 1 , Bagian 2 , Bagian 3 , Bagian 4 . Ini menyediakan sumber untuk pembuatan / pemasukan data serta manipulasi, memungkinkan Anda untuk mem-bypass banyak pekerjaan untuk dapat melihat metode HMM yang sebenarnya di tempat kerja. Ada analog langsung dengan implementasi Python.

Sebagai catatan, untuk pengantar yang lebih teoretis, mungkin Rabiner mungkin memberikan beberapa wawasan

Shawn Mehan
sumber
2

The ghmm perpustakaan mungkin menjadi orang yang Anda cari.

Seperti yang dikatakan di situs web mereka:

Ini digunakan untuk mengimplementasikan struktur data dan algoritma yang efisien untuk HMM dasar dan yang diperluas dengan emisi yang terpisah dan berkelanjutan. Muncul dengan pembungkus Python yang menyediakan antarmuka yang jauh lebih bagus dan fungsionalitas tambahan.

Ini juga memiliki dokumentasi yang bagus dan tutorial langkah demi langkah untuk membuat kaki Anda basah.

Dawny33
sumber