Hmc Checker //free\\ [Quick | PLAYBOOK]

ess_ratio = ess / total_samples if np.any(ess_ratio < ess_ratio_threshold): results["warnings"].append(f"Low ESS/total_samples (< {ess_ratio_threshold})")

# 1. R-hat rhat = az.rhat(inference_data).to_array().values if np.any(rhat > rhat_threshold): results["failures"].append(f"R-hat > {rhat_threshold} for some parameters") results["passed"] = False hmc checker

# 2. ESS / total samples ess = az.ess(inference_data).to_array().values n_samples = inference_data.posterior.sizes["draw"] n_chains = inference_data.posterior.sizes["chain"] total_samples = n_samples * n_chains ess_ratio = ess / total_samples if np

# For demo, create dummy data import pymc as pm with pm.Model(): x = pm.Normal("x") trace = pm.sample(1000, chains=2, return_inferencedata=True) rhat_threshold): results["failures"].append(f"R-hat &gt

return results if name == " main ": # Load your inference data # idata = az.from_netcdf("my_model.nc")