Learn R Programming

STAN (version 2.0.3)

fitHMM: Fit a Hidden Markov Model

Description

The function is used to fit (bidirectional) Hidden Markov Models, given one or more observation sequence.

Usage

fitHMM(obs=list(), hmm, convergence=1e-6, maxIters=1000, dirFlags=list(), emissionProbs=list(), effectiveZero=0, verbose=FALSE, nCores=1, incrementalEM=FALSE, updateTransMat=TRUE, sizeFactors=matrix(1, nrow=length(obs), ncol=ncol(obs[[1]])))

Arguments

obs
The observations. A list of one or more entries containing the observation matrix (numeric) for the samples (e.g. chromosomes).
hmm
The initial Hidden Markov Model. This is a HMM.
convergence
Convergence cutoff for EM-algorithm (default: 1e-6).
maxIters
Maximum number of iterations.
dirFlags
The flag sequence is needed when a bdHMM is fitted on undirected data (e.g.) ChIP only. It is a list of character vectors indication for each position its knwon directionality. U allows all states. F allows undirected states and states in forward direction. R allows undirected states and states in reverse direction.
emissionProbs
List of precalculated emission probabilities of emission function is of type 'null'.
effectiveZero
Transitions below this cutoff are analytically set to 0 to speed up comptuations.
verbose
logical for printing algorithm status or not.
nCores
Number of cores to use for computations.
incrementalEM
When TRUE, the incremental EM is used to fit the model, where parameters are updated after each iteration over a single observation sequence.
updateTransMat
Wether transitions should be updated during model learning, default: TRUE.
sizeFactors
Library size factors for Emissions PoissonLogNormal or NegativeBinomial as a length(obs) x ncol(obs[[1]]) matrix.

Value

A list containing the trace of the log-likelihood during EM learning and the fitted HMM model.

See Also

HMM

Examples

Run this code

data(example)
hmm_ex = initHMM(observations, nStates=3, method="Gaussian")
hmm_fitted = fitHMM(observations, hmm_ex)

Run the code above in your browser using DataLab