generator-v26 / README.md
RLTT's picture
cascade generator submission: generator_v26
3bea1c2 verified
|
Raw History Blame Contribute Delete
3.79 kB
# generator_v25 — persistence specialists
Lineage: v18 → v22 → v23 → v24 → v25. Fork of v24.
## What the lineage established
Paired attribution against the reigning king (UID 158) over 1536 fresh windows
(July 27-29, two window seeds each) located the gap precisely. Sorting upstream
feeds by how often they repeat the previous sample ordered v18's losses almost
perfectly:
| feed | windows | zero-diff frac | levels | v18 vs king | v24 vs king |
| --- | --- | --- | --- | --- | --- |
| gbfs_bergen_station_status | 57 | 0.968 | 7 | -76.9% | -53.4% |
| nextbike_zagreb_station_status | 87 | 0.949 | 12 | -52.6% | -37.9% |
| gbfs_trondheim_station_status | 32 | 0.925 | 9 | -20.8% | -17.5% |
| gbfs_bicing_barcelona_station_status | 88 | 0.638 | 20 | +5.6% | +4.4% |
Bergen and Zagreb alone account for about 4 of the 5 percentage points between
v18 and the king. These feeds hold a value bit-exact for tens of samples, so
their naive-difference scale is tiny and a forecast that drifts even a fraction
of one count is punished heavily.
Three attempts narrowed down what actually helps:
* **v22** (dock family + a blanket link rounding all families onto small integer
ranges) scored 0.40635 against v18's 0.39113. The targeted part worked (Bergen
+32%) but the blanket link coarsened the fine-grained feeds, costing 10% on
Barcelona and 49% on German hospitalization counts.
* **v23** re-targeted the link on flat fraction rather than capacity. Result
discarded: three copies of the run launched at once and overwrote each other's
checkpoint directory.
* **v24** (dock family only, 14% mass) reached 0.39272, a tie with v18, at full
token parity — 9.64B tokens against v18's 9.73B. It won exactly where aimed
(Bergen +13.3%, Zagreb +9.6%, NY COVID testing +15.3%) but the mass it took
from `ou_stochastic_vol`, `regime_shift`, `integrated`, and `threshold_ar` cost
19.7% on NZ electricity prices over 101 windows, cancelling the gain.
## Changes in v25
* New `piecewise_level` family at 11% mass. Levels are held exactly constant for
hundreds of steps and broken by rare changes, with a bounded-integer variant
(3-40 capacity, unit moves) and a continuous variant. Change rates are drawn
log-uniformly over 0.05%-9% of samples, so the corpus spans both the
near-frozen feeds and the moderately active ones. Only a quarter of continuous
rows carry reading noise; the rest stay bit-exact, which is the property the
metric rewards most.
* `dock_occupancy` raised to 15% and sharpened toward the flat band the pool
actually occupies: swing 0.03-0.6 of capacity (was 0.04-1.1), jump rate
0.002-0.09 (was 0.003-0.2), seasonal amplitude up to 0.30 of capacity (was
0.45). Median flat fraction moves from 0.81 to 0.89.
* Funding now comes only from `forecast_tasks` (0.435 → 0.261) and the generic
stochastic families. `regime_shift`, `integrated`, `threshold_ar`,
`ou_stochastic_vol`, `pulse_outlier`, `tidal_harmonic`, `physical_sensors`,
`seasonal_counts`, `intermittent`, `stable_calendar_counts`, and
`conditional_stability` are restored to their v18 weights, since those are what
serve the spiky price and sensor feeds v24 damaged.
* `observation.small_count_rate` stays at 0, so no blanket requantization.
## Corpus coverage, last 512 points of 2000 series
| | flat >= 0.8 | flat >= 0.90 | flat >= 0.95 | <= 24 levels |
| --- | --- | --- | --- | --- |
| pool | 43.7% | 23.1% | 11.8% | 64.5% |
| v18 | 11.0% | 8.4% | 7.1% | 13.4% |
| v24 | 16.3% | 13.2% | 11.0% | 22.9% |
| v25 | 25.6% | 22.5% | 19.8% | 32.0% |
Throughput is 799 series/s against v18's 729 measured back-to-back, since both
new families are cheaper per row than the `forecast_tasks` mass they replace, so
the training budget should not lose tokens.