Pm.sample_posterior_predictive() from an AR1 process

If you want to generate posterior predictions “by hand”, then you don’t need sample_posterior_predictive(). You can just unpack parameter values from the posterior returned by pm.sample(). Then plug them back into your model as you describe. If you haven’t already, you should check out the AR1 notebook.