Skip to content

Allow inference on transformations of multivariate variables #6605

@ricardoV94

Description

@ricardoV94

Description

Reading this blogpost on Normalizing flows https://blog.evjang.com/2018/01/nf1.html it seems that all that's going on is deriving the logp of deterministic invertible transformations.

PyMC already does this for many univariate transformations, such as pm.logp(pm.math.exp(pm.math.abs(pm.Normal.dist())), 2.71).eval()

If we extend this functionality a bit we can actually say that PyMC has native support for normalizing flows (we might also need to implement approximations / tricks that make it feasible for large datasets)

This issue is for implementing logp inference for Elemwise transformation on multivariate variables. Right now this is disabled explicitly here:

if input_logprob.ndim < value.ndim:
# Do we just need to sum the jacobian terms across the support dims?
raise NotImplementedError("Transform of multivariate RVs not implemented")

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions