get_bayesian_oed_optimizer

pyapprox.expdesign.get_bayesian_oed_optimizer(short_oed_type, ndesign_candidates, obs_fun, noise_std, prior_variable, out_quad_opts=None, in_quad_opts=None, nprocs=1, pre_collected_design_indices=None, **kwargs)[source]

Initialize a Bayesian OED optimizer.

Parameters:
short_oed_typestring

The type of experimental design strategy

design_candidatesnp.ndarray (nvars, nsamples)

The location of all design sample candidates

obs_funcallable

Function with the signature

obs_fun(samples) -> np.ndarray(nsamples, nqoi)

That returns noiseless evaluations of the forward model.

noise_stdfloat or np.ndarray (nobs, 1)

The standard deviation of the mean zero Gaussian noise added to each observation

nin_samplesinteger

The number of quadrature samples used for the inner integral that computes the evidence for each realiaztion of the predicted observations

nout_samplesinteger

The number of Monte Carlo samples used to compute the outer integral over all possible observations

quad_methodstring

The method used to compute the inner loop integral needed to evaluate the evidence for an outer loop sample. Options are [“linear”, “quadratic”, “gaussian”, “monte_carlo”] The first 3 construct tensor product quadrature rules from univariate rules that are respectively piecewise linear, piecewise quadratic or Gauss-quadrature.

pre_collected_design_indicesnp.ndarray (nobs)

The indices into the qoi vector associated with the collected observations

kwargskwargs

Key word arguments specific to the OED type

Returns:
oedpyapprox.expdesign.AbstractBayesianOED

Bayesian OED optimizer object