What does pm.Flat really do?

This is true, and it’s why you’re not able to do forward sampling from pm.Flat. If you do pm.sample_prior_predictive on your model, you’ll get an error.

If you’re using NUTS, I’d say it has no use case. Maybe if you’re fitting a model via MAP, it would allow you recover the MLE estimates exactly. I use it for predictive modeling in cases where I want to make sure PyMC is correctly sampling from the posterior and not the prior (taking advantage of the error it rasies). But in general it should just be avoided.

1 Like