2016-07-08 5 views
1

У меня есть последовательность и модель поезда с конечным набором значений (дискретное распределение). Я тренирую эту модель, получая скрытые состояния для последовательности X алгоритмом Витерби, и я хочу предсказать следующее скрытое состояние. Как я могу рассчитать?Предскажите следующее вероятное скрытое состояние через пакет RHmm для дискретного распределения

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) 

ответ

1

Вам не нужен алгоритм Витерби для вычисления следующего скрытого состояния. Все, что вам нужно, это оценочная матрица перехода и распределение последнего состояния последнего наблюдения.

> 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 CrossValidated ответ.

 Смежные вопросы

  • Нет связанных вопросов^_^