optimal_experimental_design

pyapprox.optimal_experimental_design.optimal_experimental_design(design_pts, fun, criteria, regresion_type='lstsq', noise_multiplier=None, solver_opts=None, pred_factors=None, cvar_tol=None)[source]

Compute optimal experimental designs for models of the form

y(z)=m(z;θ)+η(z)ϵ

to be used with estimators, such as least-squares and quantile regression, to find approximate parameters ˆθ that are the solutions of

argminθ1MMi=1e(yim(zi;θ))

for some loss function e

Parameters
design_ptsnp.ndarray (nvars,nsamples)

All possible experimental conditions

design_factorscallable or np.ndarray

The function m(z;θ) with the signature

design_factors(z,p)->np.ndarray

where z are the design points and p are the unknown parameters of the function which will be estimated from data collected using the optimal design

A np.ndarray with shape (nsamples,nfactors) where each column is the jacobian of m(z,θ) for some θ

criteriastring

The optimality criteria. Supported criteria are

  • 'A'

  • 'D'

  • 'C'

  • 'I'

  • 'R'

  • 'G'

The criteria I,G and R require pred_factors to be provided. A, C and D optimality do not. R optimality requires cvar_tol to be provided.

See [KJLSIAMUQ2020] for a definition of these criteria

regression_typestring

The method used to compute the coefficients of the linear model. This defineds the loss function e. Currently supported options are

  • 'lstsq'

  • 'quantile'

Both these options will produce the same design if noise_multiplier is None

noise_multipliernp.ndarray (nsamples)

An array specifying the noise multiplier η at each design point

solver_optsdict

Options passed to the non-linear optimizer which solves the OED problem

pred_factorscallable or np.ndarray

The function g(z;θ) with the signature

design_factors(z,p)->np.ndarray

where z are the prediction points and p are the unknown parameters

A np.ndarray with shape (nsamples,nfactors) where

each column is the jacobian of g(z,θ) for some θ

cvar_tolfloat

The 0β<1 quantile defining the R-optimality criteria. When β=0, I and R optimal designs will be the same.

Returns
final_design_ptsnp.ndarray (nvars,nfinal_design_pts)

The design points used in the experimental design

nrepetitionsnp.ndarray (nfinal_design_pts)

The number of times to evaluate the model at each design point

References

KJLSIAMUQ2020

D.P. Kouri, J.D. Jakeman, J. Lewis, Risk-Adapted Optimal Experimental Design.