File Exchange

image thumbnail

Bayesian robust hidden Markov model

version 1.2 (16.7 KB) by

MatLab object for segmenting sequences of real-valued data with noise, outliers and missing values.



View License

The Bayesian robust hidden Markov model (BRHMM) is a probabilistic model for segmenting sequential multi-variate data. The model explains the data as having been generated by a sequence of hidden states. Each state is a finite mixture of heavy-tailed distributions with with state-specific mixing proportions and shared location/dispersion parameters. All parameters in the model are equipped with conjugate prior distributions and are learnt with a variational Bayesian (vB) inference algorithm similar in spirit to expectation-maximization. The algorithm is robust to outliers and accepts missing values.

This submission includes a test function that generates a set of synthetic data and learns a model from these data. The test function also plots the data segmented according to the model, and the variational lower bound on the log-likelihood of the data after each vB iteration.

If you find this submission useful for your research/work please cite my MathWorks community profile. Feel free to contact me directly if you have any technical or application-related questions.


After downloading this submission, extract the compressed file inside your MatLab working directory and run the test function (TestBRHMM.m) for a demonstration.

Comments and Ratings (3)


MOHIT (view profile)

Phan Dao

This is very good work. Please list a reference so we can understand the meaning of the "symbols" and "Comploc". I'm pretty sure I can use your codes but having problems figuring out the mentioned variables.


Ben (view profile)

Is there a reference paper for this method?



Minor changes in the code and updates to the documentation.


Minor code improvements.

MATLAB Release
MATLAB 7.14 (R2012a)

Inspired: MS-TVTP with Gibbs Sample

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video