Guest User

Untitled

a guest
May 24th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. from pymc import *
  2. data = np.array([-1, 0, 4, 0, 2, -2, 1, 0, 0, 2, 1, -3, -1, 0, 0, 1, 0, 1])
  3. mean = Uniform("mean", -4, 4)
  4. precision = 2.0**-2
  5. obs = Normal("obs", mean, precision, value=data, observed=True)
  6. model = Model( {"mean": mean, "obs": obs})
  7. mcmc = MCMC(model)
  8. mcmc.sample(10000, 1000, 1)
  9. # I can get samples for the "mean" variable
  10. mean_samples = mcmc.trace("mean")[:]
  11. hist(mean_samples)
  12. # but how can I do the equivalent of mcmc.trace("obs")?
  13.  
  14. predictive = mc.Normal( "predictive", mean, precision )
  15. model = Model( {"mean": mean, "obs": obs, "pred":predictive})
  16.  
  17. ...
  18.  
  19. predictive_traces = mcmc.trace("predictive")[:]
  20. hist( predictive_traces )
  21.  
  22. ppc = pm.sample_ppc(trace, samples=500, model=model, size=100)
Add Comment
Please, Sign In to add comment