Learn R Programming

tileHMM (version 1.0-7)

posterior: Calculate Posterior Probability for States of HMM

Description

For each state of an HMM the posterior probability that this state produced a given observation is calculated.

Usage

posterior(data, hmm, log = TRUE)

Arguments

data
Vector with observation sequence.
hmm
Object of class hmm.
log
Logical indicating whether the logarithm of the posterior probability should be returned.

Value

A matrix with as many rows as hmm has states and one column for each entry in data.

Details

Regardless of the value of log the computation is carried out in log space. If log = FALSE the result is transformed back to linear space before it is returned.

See Also

forward, backward

Examples

Run this code
## create two state HMM with t distributions
state.names <- c("one","two")
transition <- c(0.1, 0.02)
location <- c(1, 2)
scale <- c(1, 1)
df <- c(4, 6)
model <- getHMM(list(a=transition, mu=location, sigma=scale, nu=df),
    state.names)

## obtain observation sequence from model
obs <- sampleSeq(model, 100)

## calculate posterior probability for state "one"
post <- posterior(obs, model, log=FALSE)

## get sequence of individually most likely states
state.seq <- apply(post,2,max)
state.seq <- states(model)[state.seq]

Run the code above in your browser using DataLab