pymc-devs/pymc

Increase support for batched multivariate distributions

Open

#5.383 aberto em 24 de jan. de 2022

Ver no GitHub
 (9 comments) (0 reactions) (0 assignees)Python (1.902 forks)batch import
enhancementshelp wanted

Métricas do repositório

Stars
 (7.926 stars)
Métricas de merge de PR
 (Mesclagem média 11d) (7 fundiu PRs em 30d)

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

Guia do colaborador