Hi!I try your code:
import pymc as pm
import numpy as np
import arviz as az
def mvlognormal_dist(mu, cov, size):
return pm.math.exp(pm.MvNormal.dist(mu, cov, size=size))
class MvLogNormal:
def new(cls, name, mu, cov, **kwargs):
return pm.CustomDist(name, mu, cov, dist=mvlognormal_dist, ndim_supp=1, **kwargs)
@classmethod
def dist(cls, mu, cov, **kwargs):
return pm.CustomDist.dist(mu, cov, class_name="MvLogNormal", dist=mvlognormal_dist, ndim_supp=1, **kwargs)
with pm.Model() as m:
mu = pm.Normal(“mu”, shape=(3,))
x = MvLogNormal(“x”, mu=mu, cov=np.eye(3)*1e-3, observed=np.exp([1, 2, 3]))
trace = pm.sample()
az.summary(trace)
but I have got a mistake
AttributeError: module ‘pymc’ has no attribute ‘CustomDist’
Why and How can I solve it?