Matlab implementation of the ICSS algorithm of Inclan and Tiao ("Use of cumulative sums of squares for retrospective detection of changes of variance").
Load to the matlab
directory and run demo
, or demo_accelermeter_data
for an application of x-axis value of a recorded activity series with a smartphone.
The result, for the paper provided data is:
For any vector of values, run ICSS(data)
to obtain the change points.
There are a couple of predefined datasets availble.
These can be generated using data = ProvideDataBatch(size, type)
.
The types are:
- alternating: Generate alternating variances of
1
and5
with mean0
- paper: use the dataset as defined in the paper (changepoints at
391
and518
, with variances1
,0.365
and1.033
) - homogeneous: homogeneous dataset with mean 0 and variance 1
- single: create a single breakpoint at half or the data. Variance goes there from
1
to2
.