predict.hhsmmspec function

prediction of state sequence for hhsmm

prediction of state sequence for hhsmm

Predicts the state sequence of a hidden hybrid Markov/semi-Markov model for a new (test) data of class "hhsmmdata" with an optional prediction of the residual useful lifetime (RUL) for a left to right model

## S3 method for class 'hhsmmspec' predict(object, newdata, ..., method = "viterbi", M = NA)

Arguments

  • object: a hidden hybrid Markov/semi-Markov model

  • newdata: a new (test) data of class "hhsmmdata"

  • ...: additional parameters of the function predict.hhsmm

  • method: the prediction method with two options:

    • "viterbi" (default) uses the Viterbi algorithm for prediction
    • "smoothing" uses the smoothing algorithm for prediction
  • M: maximum duration in states

Returns

a list containing the following items:

  • x the observation sequence
  • s the predicted state sequence
  • N the vector of sequence lengths
  • p the state probabilities
  • RUL the point predicts of the RUL
  • RUL.low the lower bounds for the prediction intervals of the RUL
  • RUL.up the upper bounds for the prediction intervals of the RUL

Examples

J <- 3 initial <- c(1, 0, 0) semi <- c(FALSE, TRUE, FALSE) P <- matrix(c(0.8, 0.1, 0.1, 0.5, 0, 0.5, 0.1, 0.2, 0.7), nrow = J, byrow = TRUE) par <- list(mu = list(list(7, 8), list(10, 9, 11), list(12, 14)), sigma = list(list(3.8, 4.9), list(4.3, 4.2, 5.4), list(4.5, 6.1)), mix.p = list(c(0.3, 0.7), c(0.2, 0.3, 0.5), c(0.5, 0.5))) sojourn <- list(shape = c(0, 3, 0), scale = c(0, 10, 0), type = "gamma") model <- hhsmmspec(init = initial, transition = P, parms.emis = par, dens.emis = dmixmvnorm, sojourn = sojourn, semi = semi) train <- simulate(model, nsim = c(10, 8, 8, 18), seed = 1234, remission = rmixmvnorm) test <- simulate(model, nsim = c(5, 3, 3, 8), seed = 1234, remission = rmixmvnorm) clus = initial_cluster(train, nstate = 3, nmix = c(2, 2, 2), ltr = FALSE, final.absorb = FALSE, verbose = TRUE) semi <- c(FALSE, TRUE, FALSE) initmodel1 = initialize_model(clus = clus, sojourn = "gamma", M = max(train$N), semi = semi) yhat1 <- predict(initmodel1, test)

References

Guedon, Y. (2005). Hidden hybrid Markov/semi-Markov chains. Computational statistics and Data analysis, 49(3), 663-688.

OConnell, J., & Hojsgaard, S. (2011). Hidden semi Markov models for multiple observation sequences: The mhsmm package for R. Journal of Statistical Software, 39(4), 1-22.

See Also

predict.hhsmm

Author(s)

Morteza Amini, morteza.amini@ut.ac.ir , Afarin Bayat, aftbayat@gmail.com

  • Maintainer: Morteza Amini
  • License: GPL-3
  • Last published: 2024-09-04

Useful links