2.5 Posterior predictive checks
One of the nice elements of the Bayesian toolkit is that once we have a posterior p(θ|Y ), it is possible to use it to generate predictions p(Ỹ). Mathematically, this can be done by computing:
This distribution is known as the posterior predictive distribution. It is predictive because it is used to make predictions, and posterior because it is computed using the posterior distribution. So we can think of this as the distribution of future data given the model, and observed data.
Using PyMC is easy to get posterior predictive samples; we don’t need to compute any integral. We just need to call the sample_posterior_predictive
function and pass the InferenceData
object as the first argument. We also need to pass the model
object, and we can use the extend_inferencedata
argument to add the posterior predictive samples to the InferenceData
object. The code is:
Code 2.14
pm.sample_posterior_predictive(idata_g, model=model_g, ...