Bayesian model-based agglomerative sequence segmentation
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 (2026). Bayesian model-based agglomerative sequence segmentation (https://uk.mathworks.com/matlabcentral/fileexchange/45292-bayesian-model-based-agglomerative-sequence-segmentation), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- AI and Statistics > Statistics and Machine Learning Toolbox > Regression > Model Building and Assessment > Bayesian Regression >
Tags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
