Fit a Hidden Markov Model

Share:

Description

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

Usage

1
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

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

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.