import PyMCmodel from pymc import * from pylab import * import matplotlib matplotlib.rcParams['axes.facecolor']='w' x = linspace(-1,1,400) n_fmesh = 51 fmesh_is_obsmesh = False GPSampler = MCMC(PyMCmodel.make_model(n_fmesh, fmesh_is_obsmesh)) GPSampler.assign_step_methods() sm = GPSampler.step_method_dict[GPSampler.sm.f_eval][0] GPSampler.isample(iter=5000,burn=2500,thin=100) # Uncomment this for a medium run. # GPSampler.isample(iter=500,burn=0,thin=10) # Uncomment this for a short run. # GPSampler.isample(iter=50,burn=0,thin=1) if __name__ == '__main__': N_samps = len(GPSampler.sm.f.trace()) fmesh = GPSampler.fmesh obs_locs = GPSampler.actual_obs_locs close('all')
import PyMCmodel import pymc as pm import numpy as np import matplotlib.pyplot as pl import matplotlib matplotlib.rcParams['axes.facecolor']='w' import time n_iter = 10000 rej = [] times = [] mesh_sizes = [0,1,2,4,8,16,32,64,128,256,512] for mesh_size in [0,1,2,4,8,16,32,64,128,256,512]: print mesh_size m = PyMCmodel.make_model(mesh_size, False) if mesh_size==0: sm = pm.gp.MeshlessGPMetropolis(m['sm'].f) else: sm = pm.gp.GPEvaluationMetropolis(m['sm'].f_eval, proposal_sd=.01) t1 = time.time() for i in xrange(n_iter): sm.step() times.append((time.time()-t1)/float(n_iter)) rej.append(sm.rejected/float(sm.rejected + sm.accepted)) m = PyMCmodel.make_model(0, True) sm = pm.gp.GPEvaluationMetropolis(m['sm'].f_eval, proposal_sd=.01) t1 = time.time() for i in xrange(n_iter): sm.step()
import PyMCmodel import pymc as pm import numpy as np import matplotlib.pyplot as pl import matplotlib matplotlib.rcParams['axes.facecolor'] = 'w' import time n_iter = 10000 rej = [] times = [] mesh_sizes = [0, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512] for mesh_size in [0, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512]: print mesh_size m = PyMCmodel.make_model(mesh_size, False) if mesh_size == 0: sm = pm.gp.MeshlessGPMetropolis(m['sm'].f) else: sm = pm.gp.GPEvaluationMetropolis(m['sm'].f_eval, proposal_sd=.01) t1 = time.time() for i in xrange(n_iter): sm.step() times.append((time.time() - t1) / float(n_iter)) rej.append(sm.rejected / float(sm.rejected + sm.accepted)) m = PyMCmodel.make_model(0, True) sm = pm.gp.GPEvaluationMetropolis(m['sm'].f_eval, proposal_sd=.01) t1 = time.time() for i in xrange(n_iter): sm.step()