Skip to content
Snippets Groups Projects
Commit 69d4d00b authored by Moritz Huebner's avatar Moritz Huebner
Browse files

Merge branch '182-inconsistent-saved-log_likelihood-values' into 'master'

Resolve "Inconsistent saved `log_likelihood` values"

Closes #182

See merge request Monash/tupak!208
parents f72981b8 68a46442
No related branches found
No related tags found
1 merge request!208Resolve "Inconsistent saved `log_likelihood` values"
Pipeline #32110 passed with warnings
......@@ -19,6 +19,7 @@ Changes currently on master, but not under a tag.
- Adds plotting of the prior on 1D marginal distributions of corner plots
- Adds a method to plot time-domain GW data
- Hyperparameter estimation now enables the user to provide the single event evidences
- Add nested samples to nestle output
- Prior and child classes now implement the \_\_eq\_\_ magic method for comparisons
### Changes
......@@ -34,6 +35,7 @@ Changes currently on master, but not under a tag.
re-instantiate the Prior in most cases
- Users can now choose to overwrite existing result files, rather than creating
a .old file.
- Make likelihood values stored in the posterior correct for dynesty and nestle
### Removed
- Removes the "--detectors" command line argument (not a general CLI requirement)
......
......@@ -131,14 +131,16 @@ class Dynesty(Sampler):
# self.result.sampler_output = out
weights = np.exp(out['logwt'] - out['logz'][-1])
self.result.samples = dynesty.utils.resample_equal(
out.samples, weights)
self.result.log_likelihood_evaluations = out.logl
self.result.log_evidence = out.logz[-1]
self.result.log_evidence_err = out.logzerr[-1]
self.result.samples = dynesty.utils.resample_equal(out.samples, weights)
self.result.nested_samples = DataFrame(
out.samples, columns=self.search_parameter_keys)
self.result.nested_samples['weights'] = weights
self.result.nested_samples['log_likelihood'] = out.logl
idxs = [np.unique(np.where(self.result.samples[ii] == out.samples)[0])
for ii in range(len(out.logl))]
self.result.log_likelihood_evaluations = out.logl[idxs]
self.result.log_evidence = out.logz[-1]
self.result.log_evidence_err = out.logzerr[-1]
if self.plot:
self.generate_trace_plots(out)
......
import numpy as np
from pandas import DataFrame
from .base_sampler import Sampler
......@@ -69,7 +70,13 @@ class Nestle(Sampler):
self.result.sampler_output = out
self.result.samples = nestle.resample_equal(out.samples, out.weights)
self.result.log_likelihood_evaluations = out.logl
self.result.nested_samples = DataFrame(
out.samples, columns=self.search_parameter_keys)
self.result.nested_samples['weights'] = out.weights
self.result.nested_samples['log_likelihood'] = out.logl
idxs = [np.unique(np.where(self.result.samples[ii] == out.samples)[0])
for ii in range(len(out.logl))]
self.result.log_likelihood_evaluations = out.logl[idxs]
self.result.log_evidence = out.logz
self.result.log_evidence_err = out.logzerr
return self.result
......
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