-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Currently, the ATM code implementation can only use the default MCMC sampler provided by pymc3. This sampler while robust may still not effectively probe the posterior and, depending on configuration, may be sensitive to initial values of the prior when initializing during burn-in. A more robust sampler like NUTS could overcome these problems.
We would need to create a Python class that computes the gradient of the posterior. An example of how this is done lives here: https://docs.pymc.io/notebooks/blackbox_external_likelihood.html
The added complication for this package is that the likelihood function will need to be automatically calculated depending on the desired fitting parameters, or we would need to limit the possible fitting parameters to the subset of them for which we would want to pre-calculate the gradients.