Simple Dirichlet Process Binomial Mixture Model samples slow

I get a bit of an improvement if I break the Binomial down in a list comprehension:

    visit_rate_like=pm.Mixture(
    'visit_rate_like', 
    w, 
    [pm.Binomial.dist(
        p=pm.math.invlogit(dpmm_comp_mu[i]),
        n=d1.astype('int32')[:, None]
    ) for i in range(30)], 
    observed=d0.astype('int32')[:, None]
)

But in general, these are tricky to sample.

1 Like