pymc-devs / pymc

Bayesian Modeling and Probabilistic Programming in Python
https://docs.pymc.io/
Other
8.67k stars 2k forks source link

Add function that goes from transformed space to untransformed space #6721

Open ricardoV94 opened 1 year ago

ricardoV94 commented 1 year ago

Description

Because we don't save transformed variables in the returned InferenceData (why not?) it's not easy to evaluate the model logp once we have a trace.

One could rewrite the model without transforms (and we can make this automatically for the user) This is possible with https://www.pymc.io/projects/docs/en/stable/api/model/generated/pymc.model.transform.conditioning.remove_value_transforms.html

But someone might still want to evaluate it in the original model (with jacobians and all that).

One dirty implementation is given here: https://discourse.pymc.io/t/logp-questions-synthetic-dataset-to-evaluate-modeling/12129/6?u=ricardov94

ricardoV94 commented 9 months ago

Results should be saved in https://python.arviz.org/en/latest/schema/schema.html#unconstrained-posterior

We should make sure there's an option from pm.sample to store those, besides allowing users to populate them afterwards with a helper as initially suggested in this issue