Skip to main content

MCMC Setup

This page documents the sampler configuration of the final Protocol 1b run: 96 walkers × 100,000 steps per model with emcee, burn-in 20,000, giving 7,680,000 retained samples per model.


Final run​

python src/xi_protocol1b_bao_run.py --nsteps 100000 --burn-in 20000 --nwalkers 96
SettingValue
Sampleremcee.EnsembleSampler (default stretch move)
Walkers96
Steps per walker100,000
Burn-in discarded20,000 steps per walker
Retained samples7,680,000 per model (= walkers × (steps − burn-in))
Thinningnone
ModelsΛCDM, CPL, Ξosc — each run separately

Run modes​

ModeFlagStepsBurn-inWalkersUse
Quick--quick50010032smoke test only
Default(none)5,0001,00032medium check
Custom--nsteps NN--burn-in, else max(1000, N/5)--nwalkersfinal run
A quick run is not a result

A quick run is far too short for the Ξosc chain (see Convergence Diagnostics). Its outputs are written to the same default folder as any other run and must not be mistaken for the curated final results (Outputs).


Initialisation​

Each walker starts from a small Gaussian ball around a fixed centre (relative width 0.01, or absolute when the centre is 0), redrawn until it falls inside the prior.

ModelCentre
ΛCDMH₀ = 70, Ωₘ = 0.3
CPL+ w₀ = -1, wₐ = 0
Ξosc+ w₀,mean = -1, ε = 0.1, T = 2.8 Gyr, φ₀ = 0

The starting point is fixed, not randomised across the prior, and the Ξosc posterior is multi-featured in T and φ₀ (Corner Plots). The convergence criterion does not test whether other starting regions would give the same answer.

Priors​

ParameterFirst used inPrior (uniform, open interval)Unit
H₀ΛCDM50 < x < 100km/s/Mpc
ΩₘΛCDM0.1 < x < 0.5—
w₀CPL−2 < x < 0—
wₐCPL−3 < x < 2—
w₀,meanΞosc−1.5 < x < −0.5—
εΞosc0 < x < 0.3—
TΞosc1 < x < 10Gyr
φ₀Ξosc−π < x < πrad

What is stored​

run_mcmc discards the burn-in, flattens the walkers into one array of shape (samples, parameters) and saves it as chains_<MODEL>_combined.npy (float64). The unflattened chain is not kept, so walker-by-walker trace plots cannot be made from the saved files. Chain sizes in the final run: ΛCDM 122.9 MB, CPL 245.8 MB, Ξosc 368.6 MB — they are excluded from Git.

Parameters are summarised as the median and the 16th–84th percentile interval of the retained samples.