import pymc as pm obs = np.array([0, 0, 1]) uni = pm.Uniform("prop", 0, 1) fake_obs = pm.Bernoulli("fake_obs", uni, size=3) @pm.deterministic def accept(uni=uni, fake_obs=fake_obs, obs=obs): if np.array_equal(fake_obs, obs): return uni else: return None mcmc = pm.MCMC([uni, fake_obs, accept]) mcmc.sample(10000) samples = mcmc.trace('accept')[:] hist(samples[samples > 0]) samples[:1000]