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