I see your point about the transforms being at fault, but I still think that not applying the transform works against the idea of Bayesian modeling and against the principle of understandable software.
-
Bayesian modeling is based on using generative models and inverting them to reason from evidence. Having generative models that don’t generate properly seems wrong to me.
-
Programmers have every reason to expect that a transformed random variable will yield transformed samples under all circumstances. Having them generate transformed samples under only some circumstances is akin to having the multiplication operator sometimes doing addition instead.
Changing it might be difficult, but I still think that what PyMC3 does here is wrong, and should be fixed. I can’t think of a principled argument – as opposed to an expedient argument – for the current behavior.