Bayesian model-based agglomerative sequence segmentation

Bayesian algorithm for segmenting real-valued input-output data into non-overlapping segments
530 Downloads
Updated 20 Feb 2014

View License

The Bayesian model-based agglomerative sequence segmentation (BMASS) algorithm partitions a sequence of real-valued input-output data into non-overlapping segments. The segment boundaries are chosen under the assumption that, within each segment, the data follow a multi-variate linear model.

Segmentation is agglomerative and consists of greedily merging pairs of consecutive segments. Initially, each datum is placed in an individual segment. In each iteration, a single pair of segments is merged based on the log-likelihood ratio of the merge hypothesis. The merging process continues until the log-likelihood ratio becomes negative, or until all segments have been merged.

This submission includes a test function that generates a set of synthetic data and compares the true segment boundaries against those identified by the BMASS algorithm.

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.

INSTRUCTIONS:

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

Cite As

Gabriel Agamennoni (2024). Bayesian model-based agglomerative sequence segmentation (https://www.mathworks.com/matlabcentral/fileexchange/45292-bayesian-model-based-agglomerative-sequence-segmentation), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.3.0.0

Minor bug fix.

1.2.0.0

Fixed minor typo in documentation.

1.1.0.0

Fixed minor typos in the documentation.

1.0.0.0