artatopics · the ensemble stack

Four Kaggle accounts, four GPU model families, one benchmark: forecast each of 251 research fields' share of the world's citations for 1996–2025, fitting only on 1700–1995. Scored on the ArtaQuest platform — per-field R² against the holdout mean, averaged. Zero would mean "as good as knowing each field's future average"; every point below zero is honest distance from that. Dataset: astro-ensemble-251.

1 · The board

modelentrantscore
damped linear trend (reference baseline)baseline-2.0400
THE STACK v3.1 — recent-regime selection · codethe stack (this page)-2.0927
stack v5 — kernel wall members offered; shared-basis took a slice, transferred worse · codethe stack-2.1211
the stack v3 — six-wall selection · codethe stack-2.2897
carry today forward (= every family's round-3 shrink verdict: lam 0)baseline-2.5614
random sky-feature ridge swarm · codeashranet · GPU-3.5923
neural shared-basis receiver · codeashraasn · GPU-5.1739
deep per-field phasor · codearash0ash · GPU-5.6035
pooled gradient boosting (round 1) · codeartafather · GPU-62.3708

Every single-family GPU model loses to the do-nothing baselines. The stacks are the point of the competition — and the honest headline is that a plain damped trend edges out even the best of them. The 0.05 between the trend baseline and stack v3.1 is the price of committing to a model before the answer was visible.

2 · The deployed model, in one line

forecast(field, h) = a(h) · yesterday + (1−a(h)) · [ 0.875 · trend + 0.125 · receiver ]

yesterday — the field's 1995 share, held flat. trend — a straight line through its last 15 years, with the slope damped away (φ=0.85). receiver — the repository's 9-parameter per-field sky receiver: level + amplitude + seven phases read against the slow planets, the best purely astrological model this campaign produced. a(h) — how much "yesterday" matters at horizon h: 0.14 next year, rising to about 0.55 by year fifteen — and zero beyond, where the recent walls have no evidence; the six-wall run's long-horizon data independently agrees that yesterday's exact value stops helping after year thirteen or so. Selection used only data from before 1996, on the three most recent walls (1981/86/91) — the disclosure of how that window was chosen is written into the code's header.

3 · Every field, forecast against what happened

Blue — the field's real share of each year's citations, 1700–2025. Gold dashes — the deployed stack's 30-year forecast from the 1995 wall. Thin lines — its members (damped trend, sky receiver, yesterday).

4 · What each part is worth on the judged years

variantscore
without carry (a=0)-2.0350
damped trend baseline-2.0400
without the record receiver-2.0820
stack v3.1 (the deployed model)-2.0927
carry-forward baseline-2.5614
record receiver alone-3.5767

The sky receiver keeps a 12.5% slice because the pre-1996 evidence earned it one. Dropping it would have scored -2.0820 — its slice cost 0.011 points on the judged years. Both facts are on this page because both are true.

5 · The finding: you learn the era you select in

fit ≤ wall, judged afteryesterdaytrend5-yr levelsky swarmreceiver
1966 → 1996-12.80-14.98-4.78-6.64-6.08
1971 → 2001-5.99-7.38-4.00-4.39-4.07
1976 → 2006-3.83-6.00-4.40-4.67-5.59
1981 → 2011-2.48-2.61-3.86-4.35-6.78
1986 → 2016-3.00-3.47-4.15-4.88-5.46
1991 → 2021-3.92-3.30-7.98-6.87-8.68
1996 → 2025 (judged)-2.56-2.04-3.32-3.24

Read down any column. In the 1966 window — thirty years that re-ranked science violently — every "do nothing" strategy is terrible and the sky models look relatively strong. By the 1980s the field system has begun to ossify; yesterday's value and a gentle trend dominate, and they keep dominating through the judged years. A stack selected across all six walls inherits the old era's tastes and scored −2.29; selected on the recent regime only, −2.09. No planetary configuration explains this — the calendar does. That is the competition's deepest result, and it is the same one the main page reports for the trending classifier: the sky's predictive power here is mostly a slow clock.

6 · Rebuild it in your browser

This page ships the raw share matrix, the stack's parameters and the receiver's forecast. The button loads Python (Pyodide + numpy, ~10 MB, from a CDN), rebuilds the trend and carry members from the raw shares, reassembles the stack, checks it against the exact forecast on the board, and re-scores it on the held-out truth. Then the sliders re-mix the ensemble live. Note that the two weight sliders only re-mix the bracketed part: yesterday is still folded in by a(h), so receiver = 1 scores about −3.21 rather than the receiver's own −3.58. Pull the a(h) slider to 0 to remove yesterday entirely and see each member undiluted.

(not run yet)