This function draws validation plots of a GP, DGP, or linked (D)GP emulator.
Usage
# S3 method for dgp
plot(
x,
x_test = NULL,
y_test = NULL,
dim = NULL,
method = "mean_var",
style = 1,
min_max = TRUE,
color = "turbo",
type = "points",
verb = TRUE,
force = FALSE,
cores = 1,
threading = FALSE,
...
)
# S3 method for lgp
plot(
x,
x_test = NULL,
y_test = NULL,
dim = NULL,
method = "mean_var",
style = 1,
min_max = TRUE,
color = "turbo",
type = "points",
verb = TRUE,
force = FALSE,
cores = 1,
threading = FALSE,
...
)
# S3 method for gp
plot(
x,
x_test = NULL,
y_test = NULL,
dim = NULL,
method = "mean_var",
style = 1,
min_max = TRUE,
color = "turbo",
type = "points",
verb = TRUE,
force = FALSE,
cores = 1,
...
)
Arguments
- x
can be one of the following emulator classes:
the S3 class
gp
.the S3 class
dgp
.the S3 class
lgp
.
- x_test
same as that of
validate()
.- y_test
same as that of
validate()
.- dim
if
dim = NULL
, the index of an emulator's input will be shown on the x-axis in validation plots. Otherwise,dim
indicates which dimension of an emulator's input will be shown on the x-axis in validation plots:If
x
is an instance of thegp
ofdgp
class,dim
is an integer.If
x
is an instance of thelgp
class,dim
can bean integer referring to the dimension of the global input to emulators in the first layer of a linked emulator system; or
a vector of three integers referring to the dimension (specified by the third integer) of the global input to an emulator (specified by the second integer) in a layer (specified by the first integer) that is not the first layer of a linked emulator system.
This argument is only used when
style = 1
and the emulator input is at least two-dimensional. Defaults toNULL
.- method
same as that of
validate()
.- style
either
1
or2
, indicating two different types of validation plots.- min_max
a bool indicating if min-max normalization will be used to scale the testing output, RMSE, predictive mean and std from the emulator. Defaults to
TRUE
.- color
a character string indicating the color map to use when
style = 2
:'magma'
(or'A'
)'inferno'
(or'B'
)'plasma'
(or 'C
')'viridis'
(or'D'
)'cividis'
(or'E'
)'rocket'
(or'F'
)'mako'
(or'G'
)'turbo'
(or'H'
)
Defaults to
'turbo'
(or'H'
).- type
either
'line'
or'points
, indicating whether to draw testing data in the OOS validation plot as a line or individual points when the input of the emulator is one-dimensional andstyle = 1
. Defaults to'points'
- verb
a bool indicating if the trace information on plotting will be printed during the function execution. Defaults to
TRUE
.- force
same as that of
validate()
.- cores
same as that of
validate()
.- threading
same as that of
validate()
.- ...
N/A.
Details
See further examples and tutorials at https://mingdeyu.github.io/dgpsi-R/.
Note
plot()
callsvalidate()
internally to obtain validation results for plotting. However,plot()
will not export the emulator object with validation results. Instead, it only returns the plotting object. For small-scale validations (i.e., small training or testing data points), direct execution ofplot()
is fine. However, for moderate- to large-scale validations, it is recommended to first runvalidate()
to obtain and store validation results in the emulator object, and then supply the object toplot()
. This is because if an emulator object has the validation results stored, each time whenplot()
is invoked, unnecessary evaluations of repetitive LOO or OOS validation will not be implemented.plot()
uses information provided inx_test
andy_test
to produce the OOS validation plots. Therefore, if validation results are already stored inx
, unlessx_test
andy_test
are identical to those used byvalidate()
,plot()
will re-evaluate OOS validations before plotting.Any R vector detected in
x_test
andy_test
will be treated as a column vector and automatically converted into a single-column R matrix. Thus, ifx_test
ory_test
is a single testing data point with multiple dimensions, it must be given as a matrix.The returned
patchwork
object contains theggplot2
objects. One can modify the included individual ggplots by accessing them with double-bracket indexing. See https://patchwork.data-imaginist.com/ for further information.