View source: R/initialize-model.R
| initialize_model | R Documentation |
Initialize the hhsmmspec model by using an initial clustering
obtained by initial_cluster and the emission distribution
characterized by mstep and dens.emission
initialize_model(
clus,
mstep = NULL,
dens.emission = dmixmvnorm,
sojourn = NULL,
semi = NULL,
M,
verbose = FALSE,
...
)
clus |
initial clustering obtained by |
mstep |
the mstep function of the EM algorithm with an style
simillar to that of |
dens.emission |
the density of the emission distribution with an style simillar to that of |
sojourn |
one of the following cases:
|
semi |
logical and of one of the following forms:
|
M |
maximum number of waiting times in each state |
verbose |
logical. if TRUE the outputs will be printed the normal distributions will be estimated |
... |
additional parameters of the |
a hhsmmspec model containing the following items:
init initial probabilities of states
transition transition matrix
parms.emission parameters of the mixture normal emission (mu, sigma, mix.p)
sojourn list of sojourn time distribution parameters and its type
dens.emission the emission probability density function
mstep the M step function of the EM algorithm
semi a logical vector of length nstate with the TRUE associated states are considered as semi-Markovian
Morteza Amini, morteza.amini@ut.ac.ir, Afarin Bayat, aftbayat@gmail.com
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)
initmodel = initialize_model(clus = clus, sojourn = "gamma",
M = max(train$N))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.