Skip to content

[API] multivariate distributions #622

@fkiraly

Description

@fkiraly

Discussion issue for supporting multivariate distributions.

The key issue for support is API-wise: it would be nice if we could supply a unified API for distributions that are joint marginals, and those that are correlated.

I see two options to add multivariate support and maintain a unified API:

  • new methods for joints, e.g., pdfj for joint row-wise pdf - as showcased in this PR: WIP [ENH] Multivariate distribution framework support #621
  • include an argument marginal to all the methods, and it could be "entry" (default and current behaviour), "row", or "none"?
  • or an argument joint, which could be "none" (current), "row", or "all"?

In both cases we will have the problem where there is a lack of clear defaults when going from joint to marginal - marginalization for pdf, for instance, requires integration over an infinite domain, but it could default to evaluates of cdfj via derivatives.

In either case, we need to define:

  • method API for multivariate objects
  • defaulting behaviour
  • possibly dispatch frameworks as methods call each other and default to each other.
    • I wanted to avoid this, but we may have to introduce a default operation graph to avoid manual transitivitity checks etc

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions