Simulate Hidden Markov model with normally distributed errors
This function simulates a Hidden Markov Model process.
simuHMM(mdl_h0, burnin = 100)
mdl_h0
: List containing the following DGP parameters
k x q
) vector of means.q x q
) covariance matrix.k x k
) transition matrix (columns must sum to one).T+burnin x q
) matrix with standard normal errors to be used. Errors will be generated if not provided.T x qz
) matrix with exogenous regressors (Optional) and where qz is the number of exogenous variables.qz x q
) matrix true coefficients on exogenous regressors (Optional) and where qz is the number of exogenous variables.burnin
: Number of simulated observations to remove from beginning. Default is 100
.
List with simulated series and its DGP parameters.
set.seed(1234) # ----- Univariate ----- # # Define DGP mdl_hmm <- list(n = 1000, q = 1, mu = as.matrix(c(5, -2)), sigma = list(as.matrix(5.0), as.matrix(7.0)), k = 2, P = rbind(c(0.90, 0.10), c(0.10, 0.90))) # Simulate process using simuHMM() function y_hmm_simu <- simuHMM(mdl_hmm) plot(y_hmm_simu) # ----- Multivariate ----- # # Define DGP mdl_hmm <- list(n = 1000, q = 2, mu = rbind(c(5, -2), c(10, 2)), sigma = list(rbind(c(5.0, 1.5), c(1.5, 1.0)), rbind(c(7.0, 3.0), c(3.0, 2.0))), k = 2, P = rbind(c(0.90, 0.10), c(0.10, 0.90))) # Simulate process using simuHMM() function y_hmm_simu <- simuHMM(mdl_hmm) plot(y_hmm_simu)