Hi! I have a similar issue.
with pm.Model(coords={"test_event_dim": range(len(used_data)), "test_support_dim": range(2)}) as model: w = pm.Dirichlet('w', a=np.ones(n_components)) p1 = pm.HalfNormal("p1",sigma=3, dims=("test_support_dim",)).exp() p2 = pm.HalfNormal("p2",sigma=3, dims=("test_support_dim",)).exp() p3 = pm.HalfNormal("p3",sigma=3, dims=("test_support_dim",)).exp() p4 = pm.HalfNormal("p4",sigma=3, dims=("test_support_dim",)).exp() y = DirichletMixture('y', w=w, p=[p1, p2, p3, p4], observed=np.array(used_data), comp_shape=(n_components, 2)) # model.debug(verbose=True) # if method == 'mcmc': step = pm.Metropolis() trace = pm.sample(10000, cores=2, step=step) dataframe = az.summary(trace)
The code raise error:
SamplingError: Initial evaluation of model at starting point failed!
Starting values:
{‘w_simplex__’: array([0., 0., 0.]), ‘p1_log__’: array([1.09861229, 1.09861229]), ‘p2_log__’: array([1.09861229, 1.09861229]), ‘p3_log__’: array([1.09861229, 1.09861229]), ‘p4_log__’: array([1.09861229, 1.09861229])}
Logp initial evaluation results:
{‘w’: -2.37, ‘p1’: -1.45, ‘p2’: -1.45, ‘p3’: -1.45, ‘p4’: -1.45, ‘y’: -inf}
You can call model.debug() for more details.