離散的なうーんを定義するにはn
、モデルの状態の数、遷移確率、可能な観測 (放出)n X n
のリスト、および各状態の各放出の確率を含む行列が少なくとも必要です。あなたが持っているのは一連の観察であり、それだけでは HMM を定義することはできません。m
n X m
したがって、このチュートリアルフォーム mathworks を見て、基本を理解することから始めます。そこで使用される関数は、統計ツールボックスの一部です。
次に、HMM の統計数の推測を作成することから始めます。2 つの統計情報があるとします (上記のチュートリアルのように)。次のステップは、放出行列と遷移行列の初期推定を作成することです。考えられる排出量が1 2 3 4 5
であり、状態が である2
場合、2x5
排出確率行列と2x2
遷移行列が得られます。
1 2 3
ここで、状態 1 が生成し、状態 2 が生成すると仮定すると4 5
、(均等に分散された) 放出マトリックスは次のようになります。
>> emis=[1/3 1/3 1/3 0 0; 0 0 0 1/2 1/2]
emis =
0.3333 0.3333 0.3333 0 0
0 0 0 0.5000 0.5000
また、いくつかのエミシンの後、状態が状態 1 から状態 2 に変化し、そこにとどまると推測します。あなたの推測は次のようになります。
>> trans = [.8 .2; 0 1]
trans =
0.8000 0.2000
0 1.0000
HMM が生成するものを見ることができます。
>> [seq,states] = hmmgenerate(6, trans, emis)
seq =
2 1 3 2 4 5
states =
1 1 1 1 2 2
その時点から、観測系列を使用して、関数hmmestimate
またはで HMM をトレーニングしますhmmtrain
。