pymc-devs/pymc

Increase support for batched multivariate distributions

Open

#5383 aperta il 24 gen 2022

Vedi su GitHub
 (9 commenti) (0 reazioni) (0 assegnatari)Python (1902 fork)batch import
enhancementshelp wanted

Metriche repository

Star
 (7926 star)
Metriche merge PR
 (Merge medio 11g) (7 PR mergiate in 30 g)

Descrizione

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

Guida contributor