Conformal Prediction

Demonstration

laplace vs conformal on a time series

For univariate distributional forecasting, modelling the conditional spread beats wrapping a point forecaster in a conformal band — at the same coverage.

This is the Code page’s time-series note, made visual. A heteroscedastic series \(y_t=\text{level}_t+\sigma_t\,\varepsilon_t\) drifts gently in level while its conditional spread \(\sigma_t\) swings between calm and turbulent regimes. Two forecasters consume the same rolling-mean point forecast \(\hat y_t\) and are calibrated to the same marginal level on \([0,t_0]\). They differ only in the shape of the predictive.

Both clear the marginal coverage target, so the conformal guarantee and the model’s calibration agree there. The readouts report, for each (conformal | laplace), marginal coverage, mean half-width (sharpness), mean log-likelihood, and CRPS. Turn up the volatility contrast and watch the laplace band breathe while the conformal band stays rigid; slide it back to zero and the two coincide, since homoscedastic data gives the conditional model nothing to exploit.

The second panel is the mechanism: the predictive half-width over time. The conformal band is a flat line; the laplace-style band tracks the true \(z\,\sigma_t\) (grey, dashed). That tracking is the whole difference.

Both bands clear the marginal level — the rigid one even over-covers, because a single width set from the calibration residuals is too wide for the calm majority. That extra width is not a free win: the constant-scale predictive still trails on log-likelihood. The laplace band instead spends its width where the uncertainty actually is, narrower in calm, wider in turbulent. The two stay close on CRPS, conformal’s home metric; the daylight opens up on log-likelihood.

Takeaway. Both bands cover (the conformal one over-covers, by sitting too wide in calm stretches), CRPS is close, and log-likelihood is not: the conditional model wins because it crosses the information gap that conformalization, by construction, cannot. Slide the volatility contrast to zero and the gap closes; turn it up and the log-likelihood gap, the information gap, opens with it. The conformal band re-levels a single residual shape; it never learns where \(\sigma_t\) is large or small. So for univariate distributional time-series, prefer a conditional model, laplace from the skaters package is one line, dependency-free, and online, where the conformal route means fitting AutoARIMA (or similar) and wrapping it. None of this contradicts the adaptive-conformal demo: ACI and friends recover coverage by adapting their width from recent residuals, which is itself a form of conditional modelling, with the conformal step adding the marginal certificate on top.

Using conformal prediction in your own project? Tell Claude: “Read https://conformalprediction.net/SKILL.md and create a project skill from it.” It adds a check for whether your coverage is conditionally trustworthy.