# NOT RUN {
set.seed(930518)
nsubj <- 10
ns <- 5040
ylist <- vector(mode="list",length=nsubj)
timelist <- vector(mode="list",length=nsubj)
prior1 <- c(0.5,0.2 ,0.3 )
omega1 <- matrix(c(-0.3,0.2,0.1,
0.1,-0.2,0.1,
0.15,0.2,-0.35),3,3,byrow=TRUE)
prior2 <- c(0.3,0.3 ,0.4 )
omega2 <- matrix(c(-0.5,0.25,0.25,
0.2,-0.4,0.2,
0.15,0.3,-0.45),3,3,byrow=TRUE)
emit <- c(50,200,600)
zero <- c(0.2,0,0)
for(n in 1:nsubj){
timeindex <- rep(1,ns)
for(i in 2:ns) timeindex[i] <- timeindex[i-1] + sample(1:4,1)
timelist[[n]] <- timeindex
if(n<=5){
result <- hmmsim.cont(ns, 3, prior1, omega1, emit, zero, timeindex)
ylist[[n]] <- result$series
}else{
result <- hmmsim.cont(ns, 3, prior2, omega2, emit, zero, timeindex)
ylist[[n]] <- result$series
}
}
prior_init <- c(0.5,0.2,0.3)
emit_init <- c(50, 225, 650)
zero_init <- 0.2
tpm_init <- matrix(c(-0.3,0.2,0.1,0.1,-0.2,0.1,0.15,0.2,-0.35),3,3,byrow=TRUE)
M <- 3
priorclust <- NULL
tpmclust <- c(1,1,1,1,1,2,2,2,2,2)
zeroclust <- rep(1,10)
emitclust <- rep(1,10)
group <- vector(mode="list",length=2)
group[[1]] <- 1:5; group[[2]] <- 6:10
result <- dist_learn(ylist, timelist, prior_init, tpm_init,
emit_init, zero_init,NULL, rho=1,priorclust,tpmclust,
emitclust,zeroclust,group,ncores=1,
maxit=50, tol=1e-4, method="CG", print=TRUE)
# }
Run the code above in your browser using DataLab