pymc-devs/pymc

Increase support for batched multivariate distributions

Open

#5 383 ouverte le 24 janv. 2022

Voir sur GitHub
 (9 commentaires) (0 réactions) (0 assignés)Python (1 902 forks)batch import
enhancementshelp wanted

Métriques du dépôt

Stars
 (7 926 stars)
Métriques de merge PR
 (Merge moyen 11j) (7 PRs mergées en 30 j)

Description

The logp of several multivariate distributions does not work (or is not tested) for arbitrarily batched dimensions. Some cases I could confirm include:

  • MvNormal - #6897
  • MvStudentT #6897
  • KroneckerNormal
  • MatrixNormal
  • LKJCorr
  • LKJCholeskyCov
  • StickBreakingWeights (alpha) #6042
  • Wishart (may be fine to ignore) #8246
  • CARRV (maybe better to leave this one as is)

Reproducible code:

size = (4, 3)
pm.logp(pm.MvNormal.dist(mu=np.ones(2), cov=np.eye(2), size=size), np.ones((*size, 2)))
# ValueError: Invalid dimension for value: 3
pm.logp(pm.MvStudentT.dist(nu=3, mu=np.ones(2), cov=np.eye(2), size=size), np.ones((*size, 2)))
# ValueError: Invalid dimension for value: 3

Distributions that already support (and have tests for) arbitrary shapes

Guide contributeur