A bootstrap penalty for the mean model cuts false alarms on autocorrelated noise

changepoint-detector --bootstrap now covers the mean model: on AR(1) noise at 0.3, false alarms fall from 80% to 13%; a 2 sd step is still found 98% of runs.

Tools and projects · 1 min read · Source
changepoint-detectorstatisticschangepoint

changepoint-detector already had a block-bootstrap penalty for the variance model. The mean model, the one most people use, had none, and it assumes independent noise: with mildly autocorrelated data it reports changes that are not there.

--model mean --bootstrap now fits once with a loose penalty, keeps the residuals about the segment means, resamples them in blocks (which keeps short memory) and sets the penalty to the 95th percentile of the best single-split gain. On synthetic unit-variance AR(1) noise, n = 200, 100 series per cell:

noisefalse alarms plainwith --bootstrapstep found, plain / bootstrap
iid5%1%100% / 100%
AR(1) 0.380%13%98% / 98%
AR(1) 0.5100%53%98% / 94%

Caveat: synthetic noise only. A real autocorrelated series is the next thing wanted. The script is eval/mean-block-bootstrap.mjs. Estimates, not advice.

More in Tools and projects

All writing · All in this topic · All tools and research