2

我对 HMM 包中的 viterbiTraining 函数有一些问题。我尝试在一个非常简单的嗯和一个观察向量上使用它。

这是代码:

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

Emisije 向量如下所示:

头(埃米西耶)

[1] “区间 A” “区间 A” “区间 A” “区间 C” “区间 B” “区间 A”

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 < delta) { 中的错误:需要 TRUE/FALSE 的缺失值

即使采用完全相同的参数的类似函数 baumWelch 也可以正常工作,所以我真的不明白这里出了什么问题。

谁能向我解释我做错了什么?先感谢您。

4

0 回答 0