I am performing MCMC with pyMC on a nonlinear model, specified in Probabilistic modelling MCMC question with pyMC Imagine I have 2000 points of experimental data, normally distributed:
data = np.random.normal(.2, 1, 2000)
Imagine that, instead of having the raw data, the experimentalist gives me just one number, but assures me that it comes from 2000 measures, normally distributed with precision=sigma=1. I could model that with:
data = pm.Normal('data', .2, 1.)
I would expect these two data to bear the same information, however, when I perform MCMC with pyMC, the trace of the stochastic variable (phi) that depends on data is much lower in the first place.
In detail:
phi = pm.Uniform("phi", 0, 180., value=150)
tau = pm.Normal('tau', 5., .05)
# coupling is a deterministic function of phi.
obs = pm.Normal("obs", coupling, tau, value=data, observed=True)
model = pm.Model([obs, phi, tau])
Why is giving 2000 data points "better"? Isn't there a way I can give one experimental measure that is as informative as the 2000 measures? I am afraid there is some fundamental thing about pyMC that I do not grasp...