coupledHMM {CHMM}R Documentation

Perform inference of coupled hidden markov models.

Description

Perform inference of coupled hidden markov models.

Usage

coupledHMM(X, nb.states = 3, S = NULL, omega.list = c(0.3, 0.7, 0.9),
  var.equal = TRUE, exact = FALSE, meth.init = "mclust", viterbi = TRUE,
  itmax = 500, threshold = 1e-07)

Arguments

X

a matrix of observations. Columns correspond to series (individuals).

nb.states

a integer specifying the numbers of states.

S

a matrix of similarity between individuals.

omega.list

a vector of omega values.

var.equal

a logical variable indicating whether to treat the variances as being equal (var.equal = TRUE).

exact

a logical variable indicating whether to use VEM (exact = FALSE) or EM (exact = TRUE) algorithm for the inference of the model.

meth.init

a string specifying the initialization method ("mclust" or "kmeans") for the (V)-EM algorithm. The default method is "mclust".

viterbi

a logical variable indicating whether to use Maximum A Posteriori method (FALSE) or Viterbi algorithm (TRUE, by default) for recovering the most likely path.

itmax

an integer specifying the maximal number of iterations for the CHMM_(V)EM algorithm.

threshold

a value for the threshold used for the stopping criteria for the CHMM_(V)EM algorithm.

Value

A list of 4 objets.

omega

an integer corresponding to the selected value among the omega.list.

model

a list corresponding to the output of the CHMM-EM or CHMM-VEM function for the selected model.

status

a matrix with status associated to each series in column and each position in row.

RSS.omega

a dataframe with omega values and the associated Residuals Sum of Squares.

References

Wang, X., Lebarbier, E., Aubert, J. and Robin, S., Variational inference for coupled Hidden Markov Models applied to the joint detection of copy number variations.

See Also

CHMM_VEM, CHMM_EM

Examples

data(toyexample)
# Variational inference of a coupled hidden Markov Chains
resCHMM <- coupledHMM(X = toydata, nb.states = 3, S = cor(toystatus),
                      omega.list = c(0.3, 0.5, 0.7, 0.9))
# Breakpoints positions and status of segments
info <- clusterseg(resCHMM$status)
# head(info)

[Package CHMM version 0.1.1 Index]