Manually generate posterior predictions from negative binomial model fit with brms

predict.brmsfit() wraps posterior_predict, which gives you draws from the posterior predictive distribution. It sounds like what you are doing is closer to posterior_epred, which gives you “expected values of the posterior predictive distribution" (see Expected Value of Posterior vs. Posterior of Expected Value with epred - #3 by JimBob for the difference).
In addition, remember that in bayesian modeling, we are usually modeling an expected value or median for each individual observation, so there is some aleatoric uncertainty in your predictions unless you just go with the posterior mean (which is again the predict vs epred thing).

1 Like