Skip to content
Snippets Groups Projects
Commit ed3fbde5 authored by Matthew David Pitkin's avatar Matthew David Pitkin
Browse files

sampler.py: ignore DeltaFunctions in output samples for Pymc3

parent 841bdef0
No related branches found
Tags 0.5.0
1 merge request!139Add PyMC3 sampler
...@@ -1201,12 +1201,15 @@ class Pymc3(Sampler): ...@@ -1201,12 +1201,15 @@ class Pymc3(Sampler):
# perform the sampling # perform the sampling
trace = pymc3.sample(self.draws, step=sm, **self.kwargs) trace = pymc3.sample(self.draws, step=sm, **self.kwargs)
nparams = len(self.priors.keys()) nparams = len([key for key in self.priors.keys() if self.priors[key].__class__.__name__ != 'DeltaFunction'])
nsamples = len(trace)*self.chains nsamples = len(trace)*self.chains
self.result.samples = np.zeros((nsamples, nparams)) self.result.samples = np.zeros((nsamples, nparams))
for i, key in enumerate(self.priors.keys()): count = 0
self.result.samples[:,i] = trace[key] for key in self.priors.keys():
if self.priors[key].__class__.__name__ != 'DeltaFunction': # ignore DeltaFunction variables
self.result.samples[:,count] = trace[key]
count += 1
self.result.sampler_output = np.nan self.result.sampler_output = np.nan
self.calculate_autocorrelation(self.result.samples) self.calculate_autocorrelation(self.result.samples)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment