PyMC は、現在利用可能なバージョンで、連続放出 HMM をモデル化するのにどの程度適していますか?
E ステップと M ステップを更新せずにモデルのバリエーションを簡単に探索できるフレームワークと、モデルに加えたすべての変更に対する動的計画法の再帰に関心があります。
より具体的な質問は次のとおりです。
- PyMC で HMM をモデル化するとき、解決したい「典型的な」タスクに答えることができますか?つまり、パラメータ推定に加えて、(通常はビタビ アルゴリズムで行われるように)最も可能性の高いシーケンスを推測したり、平滑化の問題を解決したりできますか?
- 期待値の最大化を使用した実装と比較して、サンプリング ベースのアプローチは遅くなると思います。これにより、モデル構築側の柔軟性が向上する場合は、それで問題ありません。モデルのプロトタイピングに PyMC を使用することを想像します。ただし、PyMC が 10k を超える観測値を持つモデルの推論を適切な時間内に処理できると期待できるかどうか疑問に思っています。
- モデル構築のために PyMC2 または PyMC3 から始めることをお勧めしますか。推論エンジンがバージョン間で変更されたことは知っているので、特にどのタイプのサンプラーがより適しているのだろうかと思います。
PyMC が私のユース ケースに適していないと思われる場合は、それも答えとして役立ちます。