Description Usage Arguments Details Value References See Also Examples
A function that fits an emulator to the data given resulting in an object of class emulatorFit
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | fitEmulator(inputs, outputs, prior.mean = "linear",
cor.function = corGaussian, method = c("separable", "LMC"), ...)
fitEmulatorLMC(inputs, outputs, prior.mean = "linear",
cor.function = corGaussian, phi.opt, sigmasq.opt, MCMC.iterations = 50,
phi.init, sigmasq.init, MC.plot = FALSE, param = "matrix-log", ...)
fitEmulatorSEP(inputs, outputs, prior.mean = "linear",
cor.function = corGaussian, phi.opt, sigmasq.opt, MCMC.iterations = 50,
phi.init, sigmasq.init, MC.plot = FALSE, nugget = NULL,
optim.method = "BFGS", optimise.interval, ...)
## S3 method for class 'emulatorFit'
fitted(object, ...)
## S3 method for class 'emulatorFit'
print(x, ...)
|
inputs |
A data frame, matrix or vector containing the input values of the training data. For matrices and data frames, use one column per input variable. |
outputs |
A data frame, matrix or vector containing the output values of the training data. For multivariate output, use one column per output variable. |
prior.mean |
Either an object of class |
cor.function |
Specifies a correlation function used as part of the prior information for the emulator.
This package has options of: |
method |
Can take string |
... |
Additional arguments to be used for |
phi.opt |
An optional vector that indicates the optimal phi values used to fit the emulator. It avoids running the optimiser to generate optimal phi values (in this case, the phi.init values are ignored). If not given phi.init values are optimised. |
sigmasq.opt |
An optional scalar that indicates the optimal sigmasq value used to fit the emulator. It avoids running the optimiser to generate optimal sigmasq value (in this case, the sigmasq.init values are ignored). If not given sigmasq.init values are optimised. |
MCMC.iterations |
An optional value that indicates how many iterations to run the MCMC for. A non-positive value indicates not to apply the MCMC to estimate the starting values for the optimisation. In this case it will use the values given by phi.init as the starting values for the optimisation. Note: MCMC is run in order to get better starting values for the optim function that evaluates an optimum value for the hyperparameters, |
phi.init |
An optional vector used as starting values for either the optimisation or the MCMC output depending on |
sigmasq.init |
A optional scalar used as a starting value for either the optimisation or the MCMC output depending on |
MC.plot |
If |
param |
The type of parametrization chosen to appopriately parametrize the covariance matrix.
param can take one of the following values: |
nugget |
For noisy data, a scalar or a vector giving the observation variance for each training data point. If scalar, nugget for each training data point will be set to the same scalar value as specified. Currently only available with univariate output. |
optim.method |
The optimisation method to use for estimation of the unknown hyper-parameters. See |
optimise.interval |
For |
object |
A fit object of class inheriting from |
x |
A fit object of class inheriting from |
This function implements emulator fitting based on the procedures described in http://mucm.aston.ac.uk/MUCM/MUCMToolkit.
For the prior.mean
arguement, if method = 'separable'
then the left hand side of the equation is not required,
but if specified, should include variables that are colnames of outputs
.
However, if method = 'LMC'
and a formula is specified, it should have a similar format to the following.
Given 3 output variables (y1, y2
and y3)
and 3 input variables (x1, x2
and x3): y1 | y2 | y3 ~ x1 + x2 | x1 + x3 | x2 + x3
.
(The actual equations can vary). Note: the vertical lines separate prior mean formula for
each output, for instance in the example above the prior mean formula for y1
is given as (y1 = x1 + x2
), and for y3
is given as (y3 = x2 + x3
).
This format allows the user to specify different prior mean formulas for each output.
fitEmulator
returns an object of class 'emulatorFit'.
An object of class 'emulatorFit' is a list containing at least the following components:
betahat | Posterior mean of β. |
sigmasq.hat | Posterior mean of sigmasq. |
out.min.Hbeta | (y - H β). |
phi.hat | Optimum maximum likelihood estimate of the correlation length parameter |
training.inputs | Inputs used to train the emulator. |
training.outputs | Outputs used to train the emulator. |
H.training | Part of the prior.mean . |
tL | The cholesky decomposition of matrix A. |
K | The cholesky decomposition of the inverse of tL multiplied with H . |
n.train | Number of training runs (rows of D ). |
n.regressors | Number of columns of H . |
n.outputs | Number of outputs. |
cor.function | The correlation function chosen for the prior variance. |
cor.functions.args | Extra arguments used for cor.functions and passed on for further evaluation. |
formula | The regressor terms in the prior mean function data . |
log.lik | It gives the log-likelihood value. |
opt.convergence | Only given if the optimisation was run. It is An integer code where 0 indicates
successful completion. See optim for more information. |
opt.message | Only given if the optimisation was run.
A character string giving any additional information returned by the optimizer, or NULL .
|
If method = 'separable'
the following components are included.
Ainv.H | Ainv * H. |
Ainv.e | Ainv * out.min.Hbeta. |
nugget | A vector giving the observation variance for each training data point. |
If method = 'LMC'
, fitEmulator
returns an object of class 'emulatorFit'
and 'emulatorFitLMC'
. The following components are also included.
Vinv.H | Vinv * H. |
Vinv.e | Vinv * out.min.Hbeta. |
sigmasq.param | The type of parametrization chosen to appopriately parametrize the covariance matrix (sigmasq) |
fitted
returns the fitted values (i.e. the posterior mean estimate).
This should equal outputs
unless nugget
is used.
Fricker, T. E., Oakley, J. E., & Urban, N. M. (2013). Multivariate Gaussian process emulators with nonseparable covariance structures. Technometrics, 55(1), 47-56.
Pinheiro, J. C., & Bates, D. M. (1996). Unconstrained parametrizations for variance-covariance matrices. Statistics and Computing, 6(3), 289-296.
If all data is in single matrix, see fitEmulatorData
for a more conveniant method.
To predict at new points, see predict.emulatorFit
1 2 3 4 5 | fit1 <- fitEmulator(inputs = surfebm[1:25,1:2], outputs = surfebm[1:25,3])
fit2 <- fitEmulator(inputs = surfebm[1:25,1:2], outputs = surfebm[1:25,3],
prior.mean = 'constant', cor.function = corMatern2.5,
MCMC.iterations = 1000)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.