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 (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
Platform Compatibility
Windows macOS LinuxCategories
- AI, Data Science, and Statistics > Statistics and Machine Learning Toolbox > Regression > Model Building and Assessment > Bayesian Regression >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.