Thanks for your reply!
I updated the above example by adding random noise to the observed responses.
However, the aforementioned issue persists:
- predictions tend to be lower than the observed values, if
trace.posterior_predictiveis used for inference - meanwhile, predictions align better with observed values if we operate on the posterior samples and do the calculation outside of the model

