Gaussian Process Bayesian Toolkit with Monte Carlo Sampler Integration for Heavy Ion Collisions
This toolkit implements a wrapper for Gaussian Process (GP) emulators and Monte Carlo (MC) samplers used in high-energy heavy-ion simulations.
The following wrappers for GP emulators are currently included:
- Scikit Learn GP emulator wrapper
- PCGP and PCSK wrapper for the GPs implemented in the surmise package of the BAND Collaboration
The following wrappers for MC sampling are included:
- MCMC wrapper for the emcee package
- PTLMC from the surmise package (Parallel Tempering Langevin Monte Carlo)
- pocoMC Preconditioned Monte Carlo method for accelerated Bayesian inference
We recommend to use the pocoMC
sampler.
There is also a script to generate Latin Hypercube Design parameter files.
An example how to use it is given in the examples
directory in the generate_LHD_Bayes.py
script.
This requires a file specifying the parameter ranges, see for example examples/modelDesign_example.txt
.
The posterior_cluster_sampling.py
script in the examples
directory can be used to sample parameter
clusters from the posterior chain file after a Bayesian inference run and propagate model
uncertainties to the observables.
The final cluster_centers.txt
file contains the sampled parameter clusters as separate columns.
Check the requirements.txt
file for the dependencies of this code.
❗ The jupyter notebooks are just meant as examples for how to use the emulators and samplers and analyze the output. Paths and data files need the proper input formats.