As a follow up to a previous question, I stumbled over a problem with
(note that I am running on v4.0 in order to solve the previous issue in posterior predictive sampling)
distributions/multivariate.py/_LKJCholeskyCov should be initialized with
dist_params in the
LKJCholeskyCov wrapper. That
dist_params should be some “RandomVariable” “Op” and requires a
ndim_supp, among other things.
However, I don’t understand what to put there and cannot figure out from the aesara or pymc code which is involved. So far I found no example with the latest implementation of
LKJCholeskyCov, and I would guess this affects the LKJ examples in the docs which will probably not work with the current build (acknowledged: it is a dev build).
Is there an example which shows what to enter as
import pymc3 as pm with pm.Model() as model: packed_cholesky = pm.LKJCholeskyCov( f'pchol' , n = 2 , eta = 1. , sd_dist = pm.HalfCauchy.dist(1.)) vals = pm.MvStudentT('vals', mu=intercept_shared, chol=packed_cholesky, nu = dof, observed = data)
pymc version: ‘4.0’
Traceback (most recent call last): File "<stdin>", line 2, in <module> File "pymc3/pymc3/distributions/multivariate.py", line 1346, in LKJCholeskyCov packed_chol = _LKJCholeskyCov(name, eta=eta, n=n, sd_dist=sd_dist) File "/pymc3/pymc3/distributions/distribution.py", line 216, in __new__ rv_out = cls.dist(*args, rng=rng, **kwargs) TypeError: dist() missing 1 required positional argument: 'dist_params'