HMM在if(d< delta){:缺失值中需要TRUE / FALSE时出错

时间:2016-09-20 12:17:06

标签: r algorithm hidden-markov-models viterbi

我对HMM包中的viterbiTraining功能有一些问题。 我尝试在一个非常直接的嗯和观察矢量上使用它。

以下是代码:

Emisije<-rep("IntervalC",length(Cl1.res))
Emisije[IntervalA[,1]]<-"IntervalA"
Emisije[IntervalB[,1]]<-"IntervalB"

Emisije矢量看起来像这样:

  

头(Emisije)

     

[1]&#34; IntervalA&#34; &#34; IntervalA&#34; &#34; IntervalA&#34; &#34; IntervalC&#34; &#34; IntervalB&#34; &#34; IntervalA&#34;

startProbs<-c(0.6873065,0.3126935)
transProbs<-matrix(c(0.8, 0.7, 0.2,0.3),ncol=2)
emissionProbs<-matrix(rep(1/3,6),ncol=3)

stanji<-initHMM(c("NizkaVar", "VisokaVar"), c("IntervalA", "IntervalB", 
    "IntervalC"), startProbs, transProbs, emissionProbs)

运行之后一切正常,除了viterbiTraining函数,它给出了以下结果:

  

viterbiTraining(stanji,Emisije)

     

if(d&lt; delta){:缺少值需要TRUE / FALSE

时出错

即使是类似的功能baumWelch,它采用完全相同的参数,也可以正常工作,所以我真的不明白这里的错误。

任何人都可以向我解释我做错了什么吗?提前谢谢。

0 个答案:

没有答案