Why is posterior same as prior despite observing data?

Hi, it’s best to not use python if statements in PyMC

There are numerous ways to achieve what you want, here is one

with pm.Model() as model:
    weekend = pm.Bernoulli('weekend', 2/7)
    weekday_rate = 10
    weekend_rate = 3
    rate = weekend*weekend_rate + (1-weekend)*weekday_rate
    bus = pm.Poisson('buses', mu=rate, observed=4)
    trace = pm.sample(1000)

print('Is Weekday? {:.3f}'.format(np.mean(trace['weekend']==0)))
print('Is Weekend? {:.3f}'.format(np.mean(trace['weekend']==1)))
2 Likes