A repository for user friendly change point detection using an optimisation approach and Bayesian statistics. This work was produced during my maters thesis [1] where a comparison between the twp appoaches was studied.
The work is based on development from other contributers, where Ruptures by Truonga et al. (based on work [2] forms a foundation for the optimisation approach. The repository bayesian_changepoint_detection by Johannes Kulick (based on work by Fearnhead [3]) forms the foundation for the Bayesian approach. Respective repositories are found here:
This repository formas a user friendly environment to make offline change point detection using both approaches.
To add a dataset, one creates a folder in the Datasets folder with an appropriate name tag. The folder should contain:
- A data file (csv or dat) with any name
- CPs.dat, A file containing true change points
- Results: an empty folder to store results
Predictions are made using respective files:
- calculate_predictions_Bayes.py
- calculate_predictions_ruptures.py
Files are run serately, and parameters for the predictions are specified in the file.
Results are saved in the problem specified folder, in a sub-folder. Visualisation of the results can be made using visualise_results.py.
Requires installation of:
- ruptures >= 1.0.5
- pyts >= 0.11.0
[1] Rebecca Gedda, Interactive Change Point Detection Approahces in Time-Series (2021)
[2] Charles Truonga et al., Selective review of offline change point detection methods (2020)
[3] Paul Fearnhead, Exact and Efficient Bayesian Inference for Multiple Changepoint problems (2006)
PRONTO dataset available at: A. Stief, R. Tan et al.,A heterogeneous benchmark dataset for data analytics: Multiphase flow facility casestudy, Journal of Process Control (2019)