Skip to main content

Come analyze HEASARC, IRSA, and MAST data in the cloud! The Fornax Initiative is now welcoming all interested beta users.

Xspec Home Page

Comparing the results

sampler elapsed (s) Rhat min-ESS ESS/sec converged
MH 58.5 1.001 796 13.6 yes
GW 9.1 1.364 78 8.5 no
HMC 590.7 1.056 54 0.1 marginal
nest 155.0 n/a 3765 24.3 yes

Convergence here means Rhat $<1.01$ (for multi-chain runs) and min-ESS $\geq 400$. Rhat is undefined for nested sampling because it produces a single weighted sample stream.

Three things to notice:

  • Nested sampling and Metropolis–Hastings both converge, for very different reasons. MH wins on per-sample cost (the chain is essentially a sequence of single forward evaluations each) and the Hessian-proposal lands it inside the textbook 25–50% acceptance window on a 3–D Gaussian-shaped posterior. Nested sampling wins on robustness – it returns the same posterior regardless of where the chain started, and it also gives us $\log Z$ for free, which the others do not.

  • Goodman–Weare looks fast but did not converge. The 9 s elapsed time is misleading: the 32-walker ensemble produced ESS 78 across 4992 samples, so the effective rate is poor. GW typically needs roughly 30 $\times$ the chain length of MH to reach the same ESS because the walkers spend many iterations exploring correlations within the ensemble before contracting onto the posterior. Raising chain length to 30000 (about 55 s elapsed time) brings min-ESS into the same range as MH.

  • HMC was budget-starved, not failing. The Rhat of 1.06 across 4 chains tells us the chains have not fully mixed; the per-sample cost is high because each NUTS trajectory requires roughly $2^{\mathrm{tree\_depth}}$ gradient evaluations (tree_depth $\sim$ 8 for a well-warmed-up chain). At the documented default (1000 warmup + 1000 samples) the same Chandra problem finishes in roughly 1.5–2 hours elapsed time and the Rhat drops below 1.01. HMC's payoff appears at higher dimensionality: it is the only sampler in this list whose per-sample cost grows only mildly with the number of thawed parameters, because the gradient computation is independent of parameter count once you are using the analytic-VJP pipeline (see Appendix H.1).