Papers
Preliminary results for the regression front-end, with the losing rows reported next to the winning ones.
The paper
Skaters on a River: Calibrated Forecast Features for Streaming Regression, with a Pathwise Regret-Transfer Theorem. P. Cotton.
The package, the three-prong benchmark study with its losing rows, the ablation, and the theorem with proofs, in one place.
The regression front-end
Calibrated forecast features for online regression. Preliminary, July 2026.
Replace each input stream with two scalars from its own Laplace forecaster, the predictive mean and the standardized surprise, and give the target its own pair while leaving the target raw. The regression then learns from variables that are stationary in scale, bounded in influence and calibrated. This is the regression instance of the Rosenblatt front-end thesis already measured for anomaly detectors and for forecasters: other people's methods get better in Laplace coordinates.
Markdown → · Full results log (timemachines)
Headline table one — coordinates, not the loss
One fixed recursive-least-squares learner, eight contamination scenarios, 30 seeds, excess MSE against the clean conditional mean, medians. The front-end (zin) beats raw features 30/30 seeds on every contaminated scenario and beats a median/MAD winsorizer and a Huberised loss besides:
| scenario | raw | robust | huber | zin |
|---|---|---|---|---|
| clean | 0.001 | 0.108 | 0.001 | 0.057 |
| spikes on x | 1.08 | 0.91 | 1.38 | 0.72 |
| spikes on y | 3.78 | 4.42 | 3.75 | 1.84 |
| heavy t(2) | 0.008 | 2.17 | 0.006 | 0.95 |
| distortion | 1.05 | 0.53 | 1.48 | 0.51 |
The heavy-tail row is a boundary, not a bug: when the extremes are signal rather than noise, taming them costs accuracy, and the study reports that plainly.
Headline table two — river's own datasets
Progressive validation MAE, untouched data, tree learner. The body column is the target's Laplace predictive mean alone, no regression, no features, and it is the attribution control:
| dataset | river pipeline | fronted | body alone |
|---|---|---|---|
| TrumpApproval | 0.334 | 0.381 | 0.150 |
| ChickWeights | 23.8 | 24.7 | 25.5 |
| AirlinePassengers | 41.9 | 26.6 | 29.4 |
| Bikes (20k) | 5.07 | 5.29 | 4.94 |
On history-dominated streams the univariate forecaster alone already beats the full feature pipeline, on river's flagship documentation example by 2.2x. Under 2% injected feature spikes the front-end wins 10/10 on three of the four datasets. ChickWeights, which interleaves 50 growth curves under one key, is the disclosed counterexample.
The ablation, and the one-wrapper headline
Decomposing the pair: z alone is useless, since surprises carry no
level; the mean alone pays a large clean toll and misses distortion;
together they recombine into a conditional mean neither supports
alone. And the sharpest cell came from the condition the first pass
missed: LaplaceTarget alone, raw features untouched,
beats river's pipeline on three of four of their datasets untouched
(TrumpApproval 0.301 vs 0.334) and 10/10 under feature spikes, while
tying the counterexample. The recommendation orders itself: add the
target pair always; replace features with their pairs only when you
distrust the features; never use z alone. Cost, measured: about 390
microseconds per stream per sample, roughly 900x StandardScaler,
right at human timescales and wrong in a hot path.
The theorem
Regret transfer through the front-end. Pathwise, with measured constants. The sandwich's log-loss regret against every conjugated linear-Gaussian refinement of the body is bounded by an explicit O(d log T) on any data sequence whatsoever, with no stationarity, moment or calibration assumption: the parade clamp manufactures the boundedness the online-learning theorem needs. The insurance corollary, at s = 1 and u = 0, says the sandwich can never lose more than O(d log T) nats to the forecaster alone, which resolves the output-sandwich pathology in the study as a property of point extraction rather than of the density. Proofs and the numerical bound check ship in the repo.
Status
Preliminary. Remaining open items: per-entity bodies for entity-interleaved streams, multi-horizon surprises from k=3 bodies, and concept-drift classification. Reproduction is five resumable harnesses in the timemachines repo with fixed seeds.