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(スタンジ、エミシジェ)
if (d < delta) { のエラー: TRUE/FALSE が必要な場所に値がありません
まったく同じパラメーターを取る同様の関数 baumWelch でさえ、エラーなしで動作するため、ここで何が問題なのか本当にわかりません。
誰が私が間違っているのか説明してもらえますか? 前もって感謝します。