The 99.9% interval that is actually 99.9%
Generalized-Pareto tails in every predictive, and alarm budgets that come true.
As of v0.13.0 every laplace predictive carries
generalized-Pareto tails, fitted online by censored maximum likelihood
to the forecaster's own surprises. This page says what that means, why
the obvious alternative is inconsistent, and what changed. Everything
is measured strictly prequentially, with the raw study files committed
next to their results.
The problem: promises that don't come true
A density forecaster makes quantitative promises. "This point sits outside my 99.9% interval" should happen once per thousand points; "alarm me when the tail probability drops below $10^{-3}$" should page you once per thousand quiet ticks. We built the test no benchmark runs (count what a stated false-alarm budget actually delivers on certified-quiet data) and failed it ourselves: the Gaussian read of the calibration state fired at 8× its promised rate at nominal $10^{-3}$ on real economic series. The bulk was fine (the coverage study's 90% interval held); beyond three sigma, the tails were too thin. Volatility clocks, seasonality, drift: the forecaster absorbs those. The shape of extremes is a different failure, and extreme value theory exists for exactly it.
The fix that doesn't work, and the one that does
You cannot simply re-weight the likelihood toward the tail and refit. The weighted log score $w(y)\log f(y)$ is improper: a forecaster maximizes it by inflating the region you weighted, not by telling the truth (Gneiting & Ranjan, 2011). The consistent tool is the censored likelihood (Diks, Panchenko & van Dijk, 2011): inside the tail region, score the full density; outside, score only the stated probability of staying outside. Its extra term is forced by a theorem: no proper score can assess tail shape without also charging for tail mass (Brehmer & Strokorb, 2019).
That score licenses a clean construction, the conditional tail
fit. The body forecaster defines a predictable tail region: its
own calibration z beyond thresholds frozen at warm-up quantiles, set
before each observation arrives. A trailing tail model fits a
generalized Pareto to the exceedances (censored ML factorizes into the
exceedance rate, an EWMA that forgets like everything else in
the library, plus the conditional GPD shape). Each issued
predictive is then spliced: the body's density in the interior,
rescaled so mass is exact; the GPD beyond. Information flows
body → region → tail → output, never
backwards: the body never sees the tail's opinion, so the
surprises keep their meaning. The splice sits under the calibration
state, so logpdf, cdf, quantile,
CRPS and state["z"] all read the corrected tail.
What changed, measured
| nominal central interval | gaussian tails | gpd tails (default) |
|---|---|---|
| 90% | 89.17% | 90.08% |
| 99% | 97.62% | 98.93% |
| 99.9% | 99.13% | 99.85% |
(142 non-price FRED series, median empirical coverage, one-pass prequential. The gaussian 99.9% interval breached its budget 8.7×.) Held-out log-likelihood improved on 96%+ of series, about +0.03 nats/tick, on non-price and price series, at one-step and multi-step horizons; CRPS, the default leaf objective, is unchanged to within noise. And the alarm arithmetic now converts directly: alarm when $\operatorname{erfc}(|z|/\sqrt{2}) < \alpha$, and the measured rate at nominal $10^{-3}$ is $\approx 1.4\times10^{-3}$, the residue consistent with the genuine anomalies real series contain.
What it does not do
The boundaries matter as much as the table. The splice buys density height at extreme ticks and alarm calibration; tail quantile location moves only slightly (pinball at 1% is a wash). It does not rescue near-deterministic waveform data (ECG-like periodic streams): that regime belongs to template matching, and the PIT histogram tells you which regime you are in: flat means these claims hold, U-shaped means they don't. And p-values below ${\sim}10^{-6}$ remain out of reach of the calibration state's clamp. Costs: ~5% runtime, and the JavaScript twin implements the splice to 1e-6 parity, enforced along with adversarial release gates in both languages.
Long form with every table, the propriety rules, and the negative results: When to alarm. Context in the literature: the anomaly-detection literature map.