I am trying to develop a Python based script connected to a SQLite3 database to identify distinct system changepoints in an "online" datastream. Changepoint must be identified in less than 2 minutes after occurance. Data is collected every 5 seconds and fed to the sqlite database. Below is a data plot showing a sample data stream with change points manually indentified.
I have reviewed papers discussing Singular Spectrum Analysis Algorithms and Direct Density Estimation to indentify the change points. Admittedly both are over my head and seem complicated from a programing standpoint. I've looked at using a moving mean or variation strategy but false positives show up and some change points have the same mean before and after the change point though its not very common.
Any thoughts on how to find change points given the type of data listed above?