Description Usage Arguments Value References Examples
Viterbi algorithm to decode the latent states for hidden Markov models
1 2 |
y |
the observed series to be decoded |
ntimes |
vector specifying the lengths of individual, i.e. independent, time series. If not specified, the responses are assumed to form a single time series, i.e. ntimes=length(y) |
M |
number of latent states |
prior_init |
a vector of prior probability values |
tpm_init |
transition probability matrix |
emit_init |
a vector containing means for each poisson distribution |
zero_init |
a vector containing structural zero proportions in each state |
plot |
whether a plot should be returned |
xlim |
vector specifying the minimum and maximum on the x-axis in the plot. Default to NULL. |
ylim |
vector specifying the minimum and maximum on the y-axis in the plot. Default to NULL. |
... |
further arguments to be passed to the plot() function |
the decoded series of latent states
Walter Zucchini, Iain L. MacDonald, Roland Langrock. Hidden Markov Models for Time Series: An Introduction Using R, Second Edition. Chapman & Hall/CRC
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | prior_init <- c(0.5,0.2,0.3)
emit_init <- c(10,40,70)
zero_init <- c(0.5,0,0)
omega <- matrix(c(0.5,0.3,0.2,0.4,0.3,0.3,0.2,0.4,0.4),3,3,byrow=TRUE)
result <- hmmsim(n=1000,M=3,prior=prior_init, tpm_parm=omega,
emit_parm=emit_init,zeroprop=zero_init)
y <- result$series
state <- result$state
fit <- hmmfit(y=y,M=3,prior_init=prior_init,tpm_init=omega,
emit_init=emit_init,zero_init=zero_init,
method="Nelder-Mead",hessian=FALSE,control=list(maxit=500,trace=1))
decode <- hmmviterbi(y,NULL,3,fit$prior,fit$tpm,fit$emit_parm,fit$zeroprop,
plot=TRUE,xlab="Time",ylab="Count")
#check the missclassification rate
sum(decode!=state)/length(state)
## Not run:
decode <- hmmviterbi(y,NULL,3,fit$prior,fit$tpm,fit$emit_parm,fit$zeroprop,
plot=TRUE,xlim=c(0,100),ylim=c(0,100),
xlab="Time",ylab="Count")
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.