V2.454 - DESI Covariance BAO Analysis + Falsification Forecast
V2.454: DESI Covariance BAO Analysis + Falsification Forecast
Status: COMPLETE — Framework at 2.3sigma from BAO best-fit, Bayes-neutral vs w0waCDM
The Question
V2.453 treated all 28 measurements as independent. But DESI’s D_M/r_d and D_H/r_d at the same redshift are anti-correlated (rho ~ -0.4). How does including the full covariance matrix change the fit? And what do Fisher forecasts say about when the framework will be decisively confirmed or falsified?
Key Results
1. Correlation Impact
Including D_M/D_H correlations increases chi^2 by 7.5%:
| Treatment | chi^2 | chi^2/N (N=12) | p-value |
|---|---|---|---|
| Uncorrelated | 17.03 | 1.42 | — |
| Correlated | 18.30 | 1.53 | 0.107 |
The increase comes mainly from the LRG2 bin (z=0.71), where D_M and D_H pulls have opposite signs but are anti-correlated — meaning the residuals are more significant than naive independent treatment suggests.
The p=0.107 fit is still acceptable (within 2sigma of perfect), but the framework is not as comfortable as V2.453 suggested for BAO.
2. BAO-Only Omega_Lambda Constraint
| Quantity | Value |
|---|---|
| BAO best-fit Omega_Lambda | 0.6996 +/- 0.0050 |
| Framework prediction | 0.6877 |
| Pull | -2.34 sigma |
BAO alone prefers Omega_Lambda ~ 0.70, which is 2.3sigma above the framework’s 0.6877. This is a notable tension but not fatal (p ~ 2%).
3. Framework vs w0-wa CDM (BAO only)
| Model | chi^2 | BIC | k_DE |
|---|---|---|---|
| Framework (w=-1) | 18.30 | 18.30 | 0 |
| w0-wa CDM | 11.95 | 16.92 | 2 |
- Delta BIC = +1.38 (w0-wa mildly preferred)
- Bayes factor = 0.5:1 (w0-wa preferred by 2:1)
- Best-fit: w0 = -0.83, wa = -0.54
BAO alone does NOT decisively prefer time-varying dark energy. The 2:1 Bayes factor is “barely worth mentioning” on the Jeffreys scale. DESI’s stronger w0 != -1 claim comes from combining BAO with SN Ia (Pantheon+/Union3), not from BAO alone.
4. Fisher Forecasts
| Survey | err_factor | OL_sigma | Pull (FW) |
|---|---|---|---|
| DR1 (current) | 1.00 | 0.0050 | -2.3sigma |
| DESI Y3 (~2026) | 0.58 | 0.0029 | -4.0sigma |
| DESI Y5 (~2028) | 0.45 | 0.0023 | -5.1sigma |
WARNING: If the BAO best-fit stays at 0.700 as errors shrink, the framework will be excluded at 5sigma by DESI Y5. However, the current best-fit is only 2.3sigma from the framework — it could easily shift toward 0.688 with more data.
The forecast assumes the central value doesn’t move, which is the worst case.
5. Pre-Registered Predictions (dated 2026-03-14)
DESI Y5 should find:
- Omega_Lambda = 0.6877 +/- 0.005 (if framework is correct)
- w0 = -1.000 +/- 0.035
Euclid predictions:
| z | D_M/r_d | D_H/r_d |
|---|---|---|
| 0.9 | 21.329 | 17.905 |
| 1.1 | 24.706 | 15.919 |
| 1.3 | 27.715 | 14.218 |
| 1.5 | 30.410 | 12.765 |
| 1.8 | 33.959 | 10.967 |
Honest Assessment
What this experiment shows:
- Including correlations makes BAO chi^2 slightly WORSE (7.5% increase)
- BAO alone puts the framework at 2.3sigma tension (notable but not fatal)
- BAO alone does NOT prefer w0-wa CDM over w=-1 (Bayes factor only 2:1)
- DESI Y5 will be decisive: either the best-fit moves toward 0.688 (confirmation) or it stays at 0.700 (5sigma exclusion)
The 2.3sigma tension:
This is the most honest threat assessment so far. The framework’s predicted Omega_Lambda = 0.6877 is 2.3sigma below the BAO-preferred 0.6996. This could be:
- A statistical fluctuation (2.3sigma happens ~2% of the time)
- A systematic in DESI DR1 (the tension is driven by two bins: LRG1 and LRG2)
- A real discrepancy indicating the framework is wrong
DESI Y3 data (expected ~2026) will resolve this: if the best-fit moves toward 0.688, the framework survives. If it stays at 0.700, the framework is in serious trouble.
What this does NOT show:
- No analysis of SN Ia data (Pantheon+/Union3) which drives the w0 != -1 claim
- No treatment of CMB prior on Omega_m*h^2 (which would tighten the constraint)
- No consideration of cross-correlations between different DESI redshift bins
Files
src/desi_forecast.py— Full analysis engine (covariance, w0-wa, forecasts)tests/test_desi_forecast.py— 11 tests, all passingrun_experiment.py— 8-phase experimentresults.json— Machine-readable output