pymc-devs/pymc

Increase support for batched multivariate distributions

Open

#5.383 geöffnet am 24. Jan. 2022

Auf GitHub ansehen
 (9 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Python (1.902 Forks)batch import
enhancementshelp wanted

Repository-Metriken

Stars
 (7.926 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 11T) (7 gemergte PRs in 30 T)

Beschreibung

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

Contributor Guide