通过离散分布的RHmm包预测下一个可能的隐藏状态

通过离散分布的RHmm包预测下一个可能的隐藏状态,r,hidden-markov-models,R,Hidden Markov Models,我有一个序列和模型,有一组有限的值(离散分布)。我正在训练这个模型,通过维特比算法得到X序列的隐藏状态,我想预测下一个隐藏状态。我怎么计算呢 library(RHmm) seq.train <- rbinom(1000, 1, 0.5) hmm <- HMMFit(seq.train, dis = 'DISCRETE', nStates = 3) x <- c(1, 1, 1, 0, 0, 1) v <- viterbi(hmm, x) 库(RHmm) seq.tra

我有一个序列和模型,有一组有限的值(离散分布)。我正在训练这个模型,通过维特比算法得到X序列的隐藏状态,我想预测下一个隐藏状态。我怎么计算呢

library(RHmm)

seq.train <- rbinom(1000, 1, 0.5)
hmm <- HMMFit(seq.train, dis = 'DISCRETE', nStates = 3)
x <- c(1, 1, 1, 0, 0, 1)
v <- viterbi(hmm, x)
库(RHmm)

seq.train您不需要维特比算法来计算下一个隐藏状态。您所需要的只是估计的转移矩阵,以及最后一次训练观察的后验状态分布

> Gamma <- RHmm::forwardbackward(hmm, seq.train)$Gamma
> Gamma[nrow(Gamma), ]
[1] 0.008210024 0.035381361 0.956408615
> Gamma[nrow(Gamma), ] %*% hmm$HMM$transMat
          [,1]     [,2]      [,3]
[1,] 0.2222393 0.293037 0.4847237
伽马伽马[nrow(伽马),] [1] 0.008210024 0.035381361 0.956408615 >伽马[nrow(Gamma),]%*%hmm$hmm$transMat [,1] [,2] [,3] [1,] 0.2222393 0.293037 0.4847237
请参阅答案