hmmestimate
出力と状態からの隠れマルコフ モデルのパラメーター推定
構文
[TRANS,EMIS] = hmmestimate(seq,states)
hmmestimate(...,'Symbols',SYMBOLS)
hmmestimate(...,'Statenames',STATENAMES)
hmmestimate(...,'Pseudoemissions',PSEUDOE)
hmmestimate(...,'Pseudotransitions',PSEUDOTR)
説明
[TRANS,EMIS] = hmmestimate(seq,states)
は、既知の状態 states
を使用して、遷移の最尤推定値 TRANS
、出力の最尤推定値 EMIS
、シーケンスの隠れマルコフ モデルの確率 seq
を計算します。
hmmestimate(...,'Symbols',SYMBOLS)
は、出力されるシンボルを指定します。SYMBOLS
は、シンボルの名前の数値配列、string 配列または cell 配列です。既定の設定のシンボルは、1 ~ N の整数です。ここで、N は可能な出力数です。
hmmestimate(...,'Statenames',STATENAMES)
は、状態の名前を指定します。STATENAMES
は、状態の名前の数値配列、string 配列または cell 配列です。既定の設定の状態名は、1 ~ M
です。ここで、M
は状態の数です。
hmmestimate(...,'Pseudoemissions',PSEUDOE)
は、行列 PSEUDOE
内の出現頻度の出力値を指定します。この引数を使用すると、標本列で表されない可能性のある非常に低い確率の出力の確率推定がゼロになることを回避できます。PSEUDOE
は、サイズが m 行 n 列の行列です。ここで、m は、隠れマルコフ モデル内の状態数、n は可能な出力数です。 という出力が seq
では発生しない場合、系列 seq
におけるこのような出力の期待数の推定値を表す正の数値を PSEUDOE(i,k)
に設定できます。
hmmestimate(...,'Pseudotransitions',PSEUDOTR)
は、出現頻度の遷移値を指定します。この引数を使用すると、標本列で表されない可能性のある非常に低い確率の遷移の確率推定がゼロになることを回避できます。PSEUDOTR
は、サイズが m 行 m 列の行列です。ここで、m は隠れマルコフ モデル内の状態数です。 という遷移が states
では発生しない場合、系列 states
におけるこのような遷移の期待数の推定値を表す正の数値を PSEUDOTR(i,j)
に設定できます。
Pseudotransitions と Pseudoemissions
特定の遷移または出力の確率が非常に低い場合、その遷移は列 states
で、またその出力は列 seq
でまったく発生しない可能性があります。いずれの場合も、アルゴリズムは、TRANS
または EMIS
内のこの遷移または出力に対して確率 0 を返します。遷移が発生しない場合は、引数 'Pseudotransitions'
および 'Pseudoemissions'
で補正できます。これを簡単に行うには、PSEUDOE
または PSEUDOTR
の該当するエントリを 1
に設定します。たとえば、遷移 が states
では発生しない場合、PSEUDOTR(i,j) = 1
に設定します。この設定により、TRANS(i,j)
は正になります。states
と同じ長さの系列における遷移 の期待数の推定値があり、seq
で遷移 が実際に発生する数が予想より大幅に少ない場合、PSEUDOTR(i,j)
に期待数を設定できます。この設定により、TRANS(i,j)
の値が増加します。期待された頻度で状態で発生する遷移に対しては、PSEUDOTR
の該当するエントリを 0
に設定します。この設定の場合、TRANS
の該当するエントリは増加しません。
状態シーケンスが不明の場合、hmmtrain
を使用するとモデル パラメーターを推定できます。
例
trans = [0.95,0.05; 0.10,0.90]; emis = [1/6 1/6 1/6 1/6 1/6 1/6; 1/10 1/10 1/10 1/10 1/10 1/2]; [seq,states] = hmmgenerate(1000,trans,emis); [estimateTR,estimateE] = hmmestimate(seq,states);
参考文献
[1] Durbin, R., S. Eddy, A. Krogh, and G. Mitchison. Biological Sequence Analysis. Cambridge, UK: Cambridge University Press, 1998.
バージョン履歴
R2006a より前に導入