Skip to content

Default to equicoordinate quantiles for multivariate distributions #144

@mitchelloharawild

Description

@mitchelloharawild

The quantile() function is to return a single point for each dimension of the distribution (as opposed to e.g. hdr()).
For univariate distributions, "equicoordinate" and "marginal" quantiles are semantically and statistically identical. For multivariate distributions, I believe it's more appropriate to default to "equicoordinate" quantiles.

This breaking change introduces reverse dependency check failures with {ggdist} since it assumes marginal quantiles from multivariate distributions are provided. I attempted to make this change for v0.5.0, but reverted it to not break packages (10e8ef9) and am once again reverting it for a v0.6.0 release 😅 (8db6d87).

This reversion is because I believe the API for quantile types could also be improved. The type argument currently used in dist_multivariate_normal() causes semantic conflict with the type argument of quantile.default() which is an integer 1-9 for the algorithm to use. As such I've renamed this usage as kind, which ggdist should probably use quantile(kind = "marginal") when working with distributional objects since its geometries are univariate/marginal in nature (@mjskay - the v0.7.0 release will change the default for multivariate distributions to equicoordinate).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions