Thư viện Python để triển khai Mô hình Markov ẩn


15

Có gì ổn định tôi có thể sử dụng Python thư viện để thực hiện Hidden Markov Models? Tôi cần nó phải được ghi chép lại một cách hợp lý, bởi vì tôi chưa bao giờ thực sự sử dụng mô hình này trước đây.

Ngoài ra, có cách tiếp cận trực tiếp hơn để thực hiện phân tích chuỗi thời gian trên tập dữ liệu bằng HMM không?


Có một triển khai thay thế HMM sklearn dường như có những đóng góp tích cực có thể tìm thấy ở đây: github.com/hmmlearn/hmmlearn tôi chưa từng sử dụng nó trước đây, vì vậy tôi không thể nói về mức độ tốt của nó, nhưng, nhìn vào các ví dụ, nó có vẻ khá đơn giản.
Kyle.

Câu trả lời:


10

Đối với một phương pháp khác, bạn có thể xem thư viện PyMC. Có một ý chính tốt https://gist.github.com/fonnesbeck/342989 được tạo bởi Fonnesbeck, hướng dẫn bạn qua việc tạo HMM.

Và nếu bạn thực sự háo hức về PyMC, có một cuốn sách nguồn mở tuyệt vời về Mô hình Bayes - https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers . Nó không mô tả rõ ràng các quy trình Markov ẩn, nhưng nó đưa ra một hướng dẫn rất tốt về chính thư viện với rất nhiều ví dụ.


8

Là một bản cập nhật cho câu hỏi này, tôi tin rằng câu trả lời được chấp nhận không phải là tốt nhất vào năm 2017.

Theo đề xuất trong các bình luận của Kyle, hmmlearnhiện tại là thư viện dành cho các HMM trong Python.

Một số lý do cho việc này:

  • Các up-to-date tài liệu , đó là rất chi tiết và bao gồm hướng dẫn

  • Các _BaseHMMlớp từ đó phân lớp tùy chỉnh có thể kế thừa để thực hiện các biến thể HMM

  • Tương thích với các phiên bản cuối cùng của Python 3.5+

  • Sử dụng trực quan

Đối diện với điều này, ghmm thư viện không hỗ trợ Python 3.x theo tài liệu hiện hành. Hầu hết các trang tài liệu đã được tạo vào năm 2006. Thoạt nhìn có vẻ không phải là một thư viện lựa chọn ...

Chỉnh sửa: Vẫn còn hiệu lực trong năm 2018.


5

thư viện lựu có hỗ trợ HMM và tài liệu này thực sự hữu ích. Sau khi thử với nhiều thư viện hmm trong python, tôi thấy điều này khá tốt.


2

Đối với một cách tiếp cận khác, thậm chí có thể giúp thúc đẩy sự hiểu biết, có lẽ bạn sẽ tìm thấy một số tiện ích khi thực hiện một số phân tích thông qua R. Các hướng dẫn dựa trên chuỗi thời gian đơn giản có rất nhiều cho các câu hỏi [wannabe] sẽ cung cấp bootstrap. Phần 1 , Phần 2 , Phần 3 , Phần 4 . Chúng cung cấp nguồn để tạo / nhập dữ liệu cũng như thao tác, cho phép bạn bỏ qua phần lớn công việc để có thể xem các phương thức HMM thực tế tại nơi làm việc. Có những sự tương tự trực tiếp với việc triển khai Python.

Một lưu ý phụ, để giới thiệu lý thuyết hơn, có lẽ Rabiner có thể cung cấp một số hiểu biết


2

Các ghmm thư viện có thể là một mà bạn đang tìm kiếm.

Như đã nói trong trang web của họ:

Nó được sử dụng để thực hiện các cấu trúc dữ liệu và thuật toán hiệu quả cho các HMM cơ bản và mở rộng với lượng khí thải rời rạc và liên tục. Nó đi kèm với trình bao bọc Python cung cấp giao diện đẹp hơn và chức năng được thêm vào.

Nó cũng có một tài liệu hay và hướng dẫn từng bước để làm ướt chân bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.