v9-intermittency — Sparsity/quantisation realism, calibrated to real data
cascade-intermittency-v9
Global zero-inflation, coarse quantisation, holds and plateaus calibrated to real sparsity statistics; sparse families up-weighted, chaotic cut.
Built from measurement, not intuition. Full derivation in
work/FIELD_ANALYSIS.md.
The gap. Measured on real held-out series versus what the whole field emits:
| statistic | field median | real | gap |
|---|---|---|---|
| exact zeros | 0.0023 | 0.1112 | 48x |
flat (x[t]==x[t-1]) |
0.0717 | 0.3030 | 4.2x |
Real sub-daily data is sparse and flat — rain that doesn't fall, closed business hours, integer counts, quantised sensors, zero-order-hold telemetry. Every generator in the field, king included, emits an essentially continuous signal.
The evidence it matters. On the owner's own published heat scores,
controlling for operator (deviations from each operator's mean, n=13):
zero_frac rho=+0.68 (p=0.011), flat_frac rho=+0.60 (p=0.031), roughness
rho=-0.64 (p=0.019). Harmonic content, which v1/v6/v7 chased, does not predict
(p=0.86); w_chaotic, which v2/v8 added to, predicts worse (rho=-0.52).
The change. Zero-inflation (censoring below a per-row threshold, which
yields EXACT zeros and long flat runs at once), coarser quantisation with an
integer-counter branch, raised zero-order hold with slower cadences, and
explicit plateaus — all applied globally as a post-process over every
family, rather than left to the 5% of the corpus the count/intermittent/sensor
families occupy. Those three families are also up-weighted (0.05 -> 0.25
combined) and chaotic cut from 0.04 to 0.01.
Calibration. Rates were tuned until the emitted corpus lands on the real statistics rather than near them:
| zero_frac | flat_frac | roughness | autocorr | |
|---|---|---|---|---|
| real | 0.1112 | 0.3030 | 0.1462 | 0.9690 |
| king | 0.0008 | 0.0351 | 0.1284 | 0.9809 |
| v9 | 0.1048 | 0.3464 | 0.1410 | 0.9650 |
Throughput 5.74M pts/s — above the 3.7M/s reference, and faster than v8.
Contract compliance
Passes cascade verify against the production chain.toml: layout, AST static
guard, hash-locked allowlisted deps (numpy + scipy only), and the
byte-identical-corpus determinism audit. No shipped weights.
Provenance
Forked from the reigning king jan/cascade9 (cascade-fullctx-spectral-v12),
not from v8 — the field evidence argues against v8's added chaotic family.