pymc-devs/pymc

Increase support for batched multivariate distributions

Open

#5,383 opened on 2022年1月24日

GitHub で見る
 (9 comments) (0 reactions) (0 assignees)Python (1,902 forks)batch import
enhancementshelp wanted

Repository metrics

Stars
 (7,926 stars)
PR merge metrics
 (平均マージ 11d) (30d で 7 merged PRs)

説明

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

コントリビューターガイド