pymc-devs/pymc
Auf GitHub ansehenIncrease support for batched multivariate distributions
Open
#5.383 geöffnet am 24. Jan. 2022
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
- Dirichlet
- Multinomial
- DirichletMultinomial - see https://github.com/pymc-devs/pymc/pull/5234