R package for ensemble MCMC for Factorial Hidden Markov Models
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
R
src
.Rbuildignore
.gitignore
DESCRIPTION
NAMESPACE
README.md

README.md

ensembleFHMM

R package for ensemble MCMC for Factorial Hidden Markov Models

This R package accompanies our paper on "Augmented Ensemble MCMC with applications to Factorial HMMs" available on arxiv.

It contains implementation for fitting Factorial Hidden Markov Models using C++ backend and exposing this to R via Rcpp modules.

Example usage:

# install package
devtools::install_github("kasparmartens/ensembleFHMM")

# load package
library(ensembleFHMM)

# initialise the X matrix (with K rows and N columns)
K <- 3
N <- 10
X <- matrix(1L, K, N)
# generate toy data y_t ~ N(h * \sum_k w_k X_{k, t}, sd)
data <- generate_Y_gaussian(X, w = c(0.2, 0.3, 0.5), h = 15, sd = 1)

# initialise ensemble of chains for sampling
X_init <- X
w_init <- gtools::rdirichlet(1, rep(1, K+1))
y <- data$Y
ensemble <- FHMM_ensemble_init(y, X_init, w_init, h_mu = 15, sigma2_init = 1, inv_temperatures = c(1.0, 0.2), HB_sampling = TRUE)
# one iteration of forward-filtering-backward-sampling
ensemble$update_x()
# augmented crossover exchange move
ensemble$do_crossover()

# get information about the first chain
chain <- ensemble$get_chain(0L)
chain$get_X()