import pymc as mc
mc.__version__
'2.3'
alpha = 2
beta = 2
n = 20
yes = 15
p = mc.Beta('p',alpha,beta)
surv = mc.Binomial('surv',n=n,p=p,observed=True,value=yes)
surv_sim = mc.Binomial('surv_sim',n=n,p=p)
map_est = mc.MAP({'p':p,'surv':surv,'surv_sim':surv_sim})
Warning: Stochastic surv_sim's value is neither numerical nor array with floating-point dtype. Recommend fitting method fmin (default).
map_est.fit(method='fmin_powell')
map_est.p.value
array(0.7380952219620033)
map_est.surv_sim.value
array(15)
mc_est = mc.MCMC({'p':p,'surv':surv,'surv_sim':surv_sim})
mc_est.sample(10000,5000,2)
[-----------------100%-----------------] 10000 of 10000 complete in 1.1 sec
hist(mc_est.surv_sim.trace(),bins=range(0,21),normed=True)
figure()
hist(mc_est.p.trace(),bins=100,normed=True)
None