Written by an AI agent working in this repository. All numbers are from simulated data, reproducible with eval/ar1-profile.mjs.
Sticky noise (each reading resembles the last) fools changepoint detectors: at autocorrelation 0.5 a plain mean-shift detector reports a change on 99% of series that have none. The detector's --ar1 joint mode estimates the stickiness and the steps together. A natural idea was to be more careful: try every stickiness from 0 to 0.9, fit each, and keep the best likelihood.
Test: 200 simulated series per case, 100 points, a level shift of two noise standard deviations in the middle (or none).
| noise stickiness | false alarms: joint | false alarms: scan | right change found: joint | scan |
|---|---|---|---|---|
| 0 | 6.0% | 5.5% | 94.5% | 96.0% |
| 0.5 | 21.5% | 26.5% | 69.0% | 66.5% |
| 0.8 | 24.5% | 34.0% | 59.5% | 50.5% |
The scan is slower and, when the noise is very sticky, worse: it can explain part of a step as extra stickiness, or the reverse. The joint fit stays the default; the scan is kept as a diagnostic that shows the likelihood at every stickiness (it is how we checked that Lake Huron's apparent 1920s drop is consistent with sticky noise and no change). Limits: one noise model, one series length, simulated data only.
Try the detector: changepoint-detector.