Source code for UQpy.inference.evidence_methods.HarmonicMean
from UQpy.inference.evidence_methods.baseclass.EvidenceMethod import EvidenceMethod
import numpy as np
[docs]class HarmonicMean(EvidenceMethod):
"""
Class used for the computation of model evidence using the harmonic mean method.
"""
def estimate_evidence(self, inference_model, posterior_samples, log_posterior_values):
log_likelihood_values = (log_posterior_values - inference_model.prior.log_pdf(x=posterior_samples))
temp = np.mean(1.0 / np.exp(log_likelihood_values))
return 1.0 / temp