bayesvalidrox.bayes_inference.post_sampler.PostSampler

class bayesvalidrox.bayes_inference.post_sampler.PostSampler(engine=None, discrepancy=None, observation=None, out_names=None, selected_indices=None, use_emulator=False, out_dir='')

Bases: object

Template class for generating posterior samples. This class describes all the properties and functions that are needed to interface with the class BayesInference.

Attributes

engineobject, optional

Trained bvr.Engine object. The default is None.

discrepancyobject, optional

Object of class bvr.Discrepancy. The default is None.

observationdict, optional

Measurement/observation to use as reference. The default is None.

out_nameslist, optional

The list of requested output keys to be used for the analysis. The default is None. If None, all the defined outputs from the engine are used.

selected_indicesdict, optional

A dictionary with the selected indices of each model output. The default is None. If None, all measurement points are used in the analysis.

use_emulatorbool

Set to True if the emulator/metamodel should be used in the analysis. If False, the model is run.

out_dirstring, optional

The output directory. The default is ‘’.

__init__(engine=None, discrepancy=None, observation=None, out_names=None, selected_indices=None, use_emulator=False, out_dir='')

Methods

__init__([engine, discrepancy, observation, ...])

calculate_loglik_logbme(model_evals[, ...])

Calculate log-likelihoods and logbme on the perturbed data.

normpdf(outputs[, std_outputs, rmse])

Calculates the likelihood of simulation outputs compared with observation data.

run_sampler()

Performs sampling to update the prior distribution on the input parameters.

calculate_loglik_logbme(model_evals, surr_error=None, std_outputs=None) tuple[ndarray, ndarray]

Calculate log-likelihoods and logbme on the perturbed data. This function assumes everything as Gaussian.

Parameters

model_evalsdict

Model or metamodel outputs as a dictionary.

surr_errordict, optional

A dictionary containing the root mean squared error as array of shape (n_samples, n_measurement) for each model output. The default is None.

std_outputsdict of 2d np arrays, optional

Standard deviation (uncertainty) associated to the output. The default is None.

Returns

log_likelihoodnp.ndarray

The calculated loglikelihoods. Size: (n_samples, n_bootstrap_itr).

log_bmenp.ndarray

The log bme. This also accounts for metamodel error, if self.use_emulator is True. Size: (1,n_bootstrap_itr).

normpdf(outputs, std_outputs=None, rmse=None) ndarray

Calculates the likelihood of simulation outputs compared with observation data.

Parameters

outputsdict

The metamodel outputs as an array of shape (n_samples, n_measurement) for each model output.

std_outputsdict of 2d np arrays, optional

Standard deviation (uncertainty) associated to the output. The default is None.

rmsedict, optional

A dictionary containing the root mean squared error as array of shape (n_samples, n_measurement) for each model output. The default is None.

Returns

logLiknp.ndarray

Log-likelihoods. Shape: (n_samples)

run_sampler() DataFrame

Performs sampling to update the prior distribution on the input parameters.

Returns

posteriorpd.DataFrame

Posterior samples of the input parameters.