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.
Minor changes in the code and updates to the documentation.
Minor code improvements.