make_model: make a hhsmmspec model for a specified emission distribution

Description Usage Arguments Value Author(s) Examples

View source: R/make-model.R

Description

Provides a hhsmmspec model by using the parameters obtained by initial_estimate for the emission distribution characterized by mstep and dens.emission

Usage

1
2
3
4
5
6
7
8
make_model(
  par,
  mstep = mixmvnorm_mstep,
  dens.emission = dmixmvnorm,
  semi = NULL,
  M,
  sojourn
)

Arguments

par

the parameters obtained by initial_estimate

mstep

the mstep function of the EM algorithm with an style simillar to that of mixmvnorm_mstep

dens.emission

the density of the emission distribution with an style simillar to that of dmixmvnorm

semi

logical and of one of the following forms:

  • a logical value: if TRUE all states are considered as semi-Markovian else Markovian

  • a logical vector of length nstate: the TRUE associated states are considered as semi-Markovian and FALSE associated states are considered as Markovian

  • NULL if ltr=TRUE then semi = c(rep(TRUE,nstate-1),FALSE), else semi = rep(TRUE,nstate)

M

maximum number of waiting times in each state

sojourn

the sojourn time distribution which is one of the following cases:

  • "nonparametric" non-parametric sojourn distribution

  • "nbinom" negative binomial sojourn distribution

  • "logarithmic" logarithmic sojourn distribution

  • "poisson" poisson sojourn distribution

  • "gamma" gamma sojourn distribution

  • "weibull" weibull sojourn distribution

  • "lnorm" log-normal sojourn distribution

  • "auto" automatic determination of the sojourn distribution using the chi-square test

Value

a hhsmmspec model containing the following items:

Author(s)

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

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
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)
clus = initial_cluster(train,nstate=3,nmix=c(2,2,2),ltr=FALSE,
final.absorb=FALSE,verbose=TRUE)
par = initial_estimate(clus,verbose=TRUE)
model = make_model(par,semi=NULL,M=max(train$N),sojourn="gamma")

hhsmm documentation built on Jan. 10, 2022, 9:07 a.m.

Related to make_model in hhsmm...