mice {dgpsi} | R Documentation |
Locate the next design point for a (D)GP emulator or a bundle of (D)GP emulators using MICE
Description
This function searches from a candidate set to locate the next design point(s) to be added to a (D)GP emulator or a bundle of (D)GP emulators using the Mutual Information for Computer Experiments (MICE), see the reference below.
Usage
mice(object, ...)
## S3 method for class 'gp'
mice(
object,
x_cand = NULL,
n_cand = 200,
batch_size = 1,
M = 50,
nugget_s = 1e-06,
workers = 1,
limits = NULL,
int = FALSE,
...
)
## S3 method for class 'dgp'
mice(
object,
x_cand = NULL,
n_cand = 200,
batch_size = 1,
M = 50,
nugget_s = 1e-06,
workers = 1,
limits = NULL,
int = FALSE,
aggregate = NULL,
...
)
## S3 method for class 'bundle'
mice(
object,
x_cand = NULL,
n_cand = 200,
batch_size = 1,
M = 50,
nugget_s = 1e-06,
workers = 1,
limits = NULL,
int = FALSE,
aggregate = NULL,
...
)
Arguments
object |
can be one of the following:
|
... |
any arguments (with names different from those of arguments used in |
x_cand |
a matrix (with each row being a design point and column being an input dimension) that gives a candidate set
from which the next design point(s) are determined. If |
n_cand |
an integer specifying the size of the candidate set to be generated for selecting the next design point(s).
This argument is used only when |
batch_size |
an integer that gives the number of design points to be chosen.
Defaults to |
M |
|
nugget_s |
the value of the smoothing nugget term used by MICE. Defaults to |
workers |
the number of processes to be used for the criterion calculation. If set to |
limits |
|
int |
|
aggregate |
an R function that aggregates scores of the MICE across different output dimensions (if
Set to |
Details
See further examples and tutorials at https://mingdeyu.github.io/dgpsi-R/.
Value
If
x_cand
is notNULL
:When
object
is an instance of thegp
class, a vector of lengthbatch_size
is returned, containing the positions (row numbers) of the next design points fromx_cand
.When
object
is an instance of thedgp
class, a vector of lengthbatch_size * D
is returned, containing the positions (row numbers) of the next design points fromx_cand
to be added to the DGP emulator.-
D
is the number of output dimensions of the DGP emulator if no likelihood layer is included. For a DGP emulator with a
Hetero
orNegBin
likelihood layer,D = 2
.For a DGP emulator with a
Categorical
likelihood layer,D = 1
for binary output orD = K
for multi-class output withK
classes.
-
When
object
is an instance of thebundle
class, a matrix is returned withbatch_size
rows and a column for each emulator in the bundle, containing the positions (row numbers) of the next design points fromx_cand
for individual emulators.
If
x_cand
isNULL
:When
object
is an instance of thegp
class, a matrix withbatch_size
rows is returned, giving the next design points to be evaluated.When
object
is an instance of thedgp
class, a matrix withbatch_size * D
rows is returned, where:-
D
is the number of output dimensions of the DGP emulator if no likelihood layer is included. For a DGP emulator with a
Hetero
orNegBin
likelihood layer,D = 2
.For a DGP emulator with a
Categorical
likelihood layer,D = 1
for binary output orD = K
for multi-class output withK
classes.
-
When
object
is an instance of thebundle
class, a list is returned with a length equal to the number of emulators in the bundle. Each element of the list is a matrix withbatch_size
rows, where each row represents a design point to be added to the corresponding emulator.
Note
The first column of the matrix supplied to the first argument of aggregate
must correspond to the first output dimension of the DGP emulator
if object
is an instance of the dgp
class, and so on for subsequent columns and dimensions. If object
is an instance of the bundle
class,
the first column must correspond to the first emulator in the bundle, and so on for subsequent columns and emulators.
References
Beck, J., & Guillas, S. (2016). Sequential design with mutual information for computer experiments (MICE): emulation of a tsunami model. SIAM/ASA Journal on Uncertainty Quantification, 4(1), 739-766.
Examples
## Not run:
# load packages and the Python env
library(lhs)
library(dgpsi)
# construct a 1D non-stationary function
f <- function(x) {
sin(30*((2*x-1)/2-0.4)^5)*cos(20*((2*x-1)/2-0.4))
}
# generate the initial design
X <- maximinLHS(10,1)
Y <- f(X)
# training a 2-layered DGP emulator with the global connection off
m <- dgp(X, Y, connect = F)
# generate a candidate set
x_cand <- maximinLHS(200,1)
# locate the next design point using MICE
next_point <- mice(m, x_cand = x_cand)
X_new <- x_cand[next_point,,drop = F]
# obtain the corresponding output at the located design point
Y_new <- f(X_new)
# combine the new input-output pair to the existing data
X <- rbind(X, X_new)
Y <- rbind(Y, Y_new)
# update the DGP emulator with the new input and output data and refit
m <- update(m, X, Y, refit = TRUE)
# plot the LOO validation
plot(m)
## End(Not run)