Model Internals (ModelContainer, SepiaDistCov, SepiaLogLik)

The classes ModelContainer, SepiaDistCov, SepiaLogLik are used internally by the model, but are not usually accessed directly by the user.

class sepia.ModelContainer

Internally used to contain numeric elements computed for the model/likelihood evaluations.

Variables
  • auto_stepsize (bool) – was step size tuning used?

  • Dki2 – for separable input calculations

  • LamSim (np.ndarray) – simulation noise precision diagonal entries, length pu

  • lamVzGroup (list) – list size pv giving group assignments for each discrepancy basis element; default is [0]*pv

  • lamVzGnum (int) – number of groups for discrepancy basis elements (separate lamVz/betaV per group); default is 1

  • m (int) – number of simulation data observations

  • n (int) – number of observed data observations

  • p (int) – number of controllable inputs (known in principle for both sim and obs data)

  • pu (int) – number of PC components

  • pv (int) – number of discrepancy basis components

  • q (int) – number of non-controllable inputs (known in principle only for sim data)

  • scalar_out (bool) – is y a scalar output?

  • SigObs (np.ndarray) – observation noise variance matrix, size (pu+pv, pu+pv)

  • SigV (numpy.ndarray) – part of likelihood calculation

  • SigU (numpy.ndarray) – part of likelihood calculation

  • SigWl (numpy.ndarray) – part of likelihood calculation

  • SigWi (numpy.ndarray) – part of likelihood calculation

  • SigUW (numpy.ndarray) – part of likelihood calculation

  • sim_only (bool) – is it simulation-only?

  • u (np.ndarray) – projection of observations onto K, size (pu, n)

  • v (np.ndarray) – projection of observations onto D, size (pv, n)

  • V (list) – for separable design calculations

  • vu (np.ndarray) – concatenation of u and v reordered for model usage, size (pu+pv, n)

  • vuw (np.ndarray) – concatenation/reordering/reshaping of v, u, and w, size (pu*m + pu*n + pv*n)

  • w (np.ndarray) – projection of simulations onto K, size (pu*m, 1)

  • x (np.ndarray) – unit hypercube inputs corresponding to observed data

  • x0Dist (sepia.SepiaDistCov) – sepia.SepiaDistCov for data.x (obs controllable inputs)

  • xzDist (sepia.SepiaDistCov) – sepia.SepiaDistCov for x/z (sim and obs controllable inputs)

  • zt – unit hypercube inputs corresponding to simulated data

  • ztDist (sepia.SepiaDistCov) – sepia.SepiaDistCov for z/t (sim controllable/noncontrollable inputs)

  • ztSepDist (sepia.SepiaDistCov) – for separable designs

class sepia.SepiaDistCov(data, data2=None, cat_ind=None)

Class for computing/storing distances and covariance matrix, typically not called directly by users.

Variables
  • type (int) – if type == 1, store self-distance for single input data, if type == 2, store cross-distance for two input data sets

  • n (int) – number of observations in data set 1

  • m (int) – number of observations in data set 2

  • ind (numpy.ndarray) – indices into matrix upper triangle

  • sqdist (numpy.ndarray) – squared distances for upper triangle

Instantiate SepiaDistCov. If only one data set is given, the self-distance is computed; otherwise computes distance between data and data2.

Parameters
  • data (numpy.ndarray) – input data, shape (n_samples, <dimension varies>)

  • data2 (numpy.ndarray/None) – optional second data set to compute distances with data, shape (n_samples2, <dimension varies>)

  • cat_ind (numpy.ndarray/list) – categorical indices of columns of data/data2

Raises

ValueError – if column shape of data and data2 differ

Note

Not typically instantiated directly, but used in model calculations.

compute_cov_mat(beta, lamz, lams=None, verbose=False)

Computes squared exponential GP covariance matrix plus noise terms using precomputed distances.

Parameters
  • beta (numpy.ndarray) – GP lengthscale parameters

  • lamz (numpy.ndarray) – GP marginal precision parameters

  • lams (scalar/NoneType) – nugget precision or None

  • verbose (bool) – print extra information?

Returns

computed covariance matrix

sepia.SepiaLogLik.compute_log_lik(g, cvar='all', cindex=None)

Compute log likelihood for model g. Returns value and also stores it in g.num.logLik.

Parameters
  • g (sepia.SepiaModel) – instantiated sepia.SepiaModel object

  • cvar (string) – name of changed parameter (used to avoid recomputing things that won’t have changed since last call), or ‘all’

  • cindex (int/NoneType) – index (of flattened parameter array) of changed variable (to avoid recomputing things), or None to assume all indices changed

Returns

numeric log likelihood value

Raises

ValueError – if invalid cvar parameter used