hmmestimate
出力と状態からの隠れマルコフモデルのパラメ,タ,推定
構文
[TRANS,EMIS] = hmmestimate(seq,states)
hmmestimate(…,“符号”,符号)
hmmestimate(…,Statenames Statenames)
hmmestimate(…,Pseudoemissions PSEUDOE)
hmmestimate(…,Pseudotransitions PSEUDOTR)
説明
[TRANS,EMIS] = hmmestimate(seq,states)
は,既知の状態州
を使用して,遷移の最尤推定値反式
,出力の最尤推定値工作
,シ,ケンスの隠れマルコフモデルの確率seq
を計算します。
hmmestimate(…,“符号”,符号)
は,出力されるシンボルを指定します。符号
は,シンボルの名前の数値配列,字符串配列または单元格配列です。既定の設定のシンボルは,1 ~ nの整数です。ここで,nは可能な出力数です。
hmmestimate(…,Statenames Statenames)
は,状態の名前を指定します。STATENAMES
は,状態の名前の数値配列,字符串配列または单元格配列です。既定の設定の状態名は,1 ~米
です。ここで,米
は状態の数です。
hmmestimate(…,Pseudoemissions PSEUDOE)
は,行列PSEUDOE
内の出現頻度の出力値を指定します。この引数を使用すると,標本列で表されない可能性のある非常に低い確率の出力の確率推定がゼロになることを回避できます。PSEUDOE
は,サaaplズがm行n列の行列です。ここで,m は、隠れマルコフ モデル内の状態数、n は可能な出力数です。
という出力がseq
では発生しない場合,系列seq
におけるこのような出力の期待数の推定値を表す正の数値をPSEUDOE (i (k)
に設定できます。
hmmestimate(…,Pseudotransitions PSEUDOTR)
は,出現頻度の遷移値を指定します。この引数を使用すると,標本列で表されない可能性のある非常に低い確率の遷移の確率推定がゼロになることを回避できます。PSEUDOTR
は,サ▪▪ズがm行m列の行列です。ここで,m は隠れマルコフ モデル内の状態数です。
という遷移が州
では発生しない場合,系列州
におけるこのような遷移の期待数の推定値を表す正の数値をPSEUDOTR (i, j)
に設定できます。
伪转换と伪发射
特定の遷移または出力の確率が非常に低い場合,その遷移は列州
で,またその出力は列seq
でまったく発生しない可能性があります。いずれの場合も,アルゴリズムは,反式
または工作
内のこの遷移または出力に対して確率0を返します。遷移が発生しない場合は,引数“Pseudotransitions”
および“Pseudoemissions”
で補正できます。これを簡単に行うには,PSEUDOE
またはPSEUDOTR
の該当するエントリを1
に設定します。たとえば,遷移
が州
では発生しない場合,PSEUDOTR(i,j) = 1
に設定します。この設定により,反式(i, j)
は正になります。州
と同じ長さの系列における遷移
の期待数の推定値があり,seq
で遷移
が実際に発生する数が予想より大幅に少ない場合,PSEUDOTR (i, j)
に期待数を設定できます。この設定により,反式(i, j)
の値が増加します。期待された頻度で状態で発生する遷移に対しては,PSEUDOTR
の該当するエントリを0
に設定します。この設定の場合,反式
の該当するエントリは増加しません。
状態シ,ケンスが不明の場合,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/2];[seq,states] = hmmgenerate(1000,trans,emis);[estimateTR,estimateE] = hmmestimate(seq,states);
参考文献
[1]德宾,R., S.埃迪,A.克拉夫,G.米奇森。生物序列分析。英国剑桥:剑桥大学出版社,1998年。
バ,ジョン履歴
R2006aより前に導入