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

Predict the next probable hidden state via RHmm package for discrete distribution

我有一个具有有限值集(离散分布)的火车序列和模型。我正在训练这个模型,通过维特比算法获取 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)

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

> 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

参见 this 交叉验证的答案。