我对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,它采用完全相同的参数,也可以正常工作,所以我真的不明白这里的错误。
任何人都可以向我解释我做错了什么吗?提前谢谢。