Expand description
ADWIN (ADaptive WINdowing) change-point detector.
Reference: Bifet & Gavaldà, Learning from time-changing data with adaptive windowing, SDM 2007, Theorems 1–3.
Core idea: maintain a window W of recent observations. Whenever any
split W = W₀ · W₁ shows |mean(W₀) − mean(W₁)| larger than a
Hoeffding-style bound ε_cut depending on the split sizes and a
confidence δ, drop W₀ and emit a change-point at the cut.
Simplifications vs. the paper that do not affect correctness for our purposes:
- We use the linear-scan split test (the paper’s §4 exponential- histogram data structure is an optimisation; our series are short, so the simpler code is faster to audit).
- We assume values are real and bounded within a single series (the
paper’s Hoeffding bound uses the sample range; we track
observed_min/observed_maxper series).
Determinism: the detector is a pure function of the input series.