# NOT RUN {
#example 1
dtparm <- c(2,1) #in the log scale
priorparm <- 0
zeroindex <- c(1,0)
zeroparm <- c(0,-1,1)
emitparm <- c(2,0.5,-0.5,4,0.3,-0.2)
workparm <- c(dtparm,priorparm,zeroparm,emitparm)
designx <- matrix(rnorm(4000),nrow=2000,ncol=2)
result <- hsmmsim2(workparm,2,2000,zeroindex,"shiftpoisson",
emit_x=designx,zeroinfl_x=designx)
y <- result$series
dt_init <- c(8,3)
prior_init <- c(0.5,0.5)
emit_init <- c(10,50)
trunc <- c(13,8)
zeroprop <- c(0.8,0)
omega <- matrix(c(0,1,1,0),2,2,byrow=TRUE)
fit1 <- hsmmfit(y=y,M=2,trunc=trunc,prior_init=prior_init,dt_dist="shiftpoisson",
dt_init=dt_init,emit_x=designx,zeroinfl_x=designx,
tpm_init=omega,emit_init=emit_init,zero_init=zeroprop,
method="Nelder-Mead",hessian=FALSE,control=list(maxit=2000,trace=1))
decode <- hsmmviterbi2(y,NULL,2,trunc,fit1$working_parameters,
dt_dist="shiftpoisson", zero_init=zeroprop,
emit_x=designx,zeroinfl_x=designx, plot=TRUE, xlab="time", ylab="count",
xlim=c(0,2000),ylim=c(0,200))
sum(decode!=result$state)
#example 2
dtparm <- c(2,0,-1) #logit scale
priorparm <- c(0,0)
zeroindex <- c(1,0,0)
zeroparm <- c(0,-1,1)
emitparm <- c(2,0.5,-0.5,4,0.3,-0.2,6,0.2,-0.2)
tpmparm <- c(0,0,0)
workparm <- c(dtparm,priorparm,zeroparm,emitparm,tpmparm)
designx <- matrix(rnorm(4000),nrow=2000,ncol=2)
result <- hsmmsim2(workparm,3,2000,zeroindex,"log",
emit_x=designx,zeroinfl_x=designx)
y <- result$series
dt_init <- c(0.9,0.5,0.3)
prior_init <- c(0.3,0.4,0.3)
emit_init <- c(10,100,400)
trunc <- c(13,5,3)
zeroprop <- c(0.8,0,0)
omega <- matrix(c(0,0.5,0.5,0.5,0,0.5,0.5,0.5,0),3,3,byrow=TRUE)
fit2 <- hsmmfit(y=y,M=3,trunc=trunc,prior_init=prior_init,dt_dist="log",
dt_init=dt_init,emit_x=designx,zeroinfl_x=designx,
tpm_init=omega,emit_init=emit_init,zero_init=zeroprop,
method="Nelder-Mead",hessian=FALSE,control=list(maxit=2000,trace=1))
decode <- hsmmviterbi2(y,NULL,3,trunc,fit2$working_parameters,
dt_dist="shiftpoisson", zero_init=zeroprop,
emit_x=designx,zeroinfl_x=designx, plot=TRUE, xlab="time", ylab="count",
xlim=c(0,2000),ylim=c(0,1000))
sum(decode!=result$state)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab