Skip to contents

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,
  M = 50,
  force = FALSE,
  cores = 1,
  ...
)

# 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",
  M = 50,
  verb = TRUE,
  force = FALSE,
  cores = 1,
  ...
)

# 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,
  M = 50,
  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 the gp of dgp class, dim is an integer.

  • If x is an instance of the lgp class, dim can be

    1. an integer referring to the dimension of the global input to emulators in the first layer of a linked emulator system; or

    2. 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 to NULL.

method

same as that of validate().

style

either 1 or 2, 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 and style = 1. Defaults to 'points'

verb

a bool indicating if the trace information on plotting will be printed during the function execution. Defaults to TRUE.

M

same as that of validate().

force

same as that of validate().

cores

same as that of validate().

...

N/A.

Value

A patchwork object.

Details

See further examples and tutorials at https://mingdeyu.github.io/dgpsi-R/.

Note

  • plot() calls validate() 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 of plot() is fine. However, for moderate- to large-scale validations, it is recommended to first run validate() to obtain and store validation results in the emulator object, and then supply the object to plot(). This is because if an emulator object has the validation results stored, each time when plot() is invoked, unnecessary evaluations of repetitive LOO or OOS validation will not be implemented.

  • plot() uses information provided in x_test and y_test to produce the OOS validation plots. Therefore, if validation results are already stored in x, unless x_test and y_test are identical to those used by validate(), plot() will re-evaluate OOS validations before plotting.

  • Any R vector detected in x_test and y_test will be treated as a column vector and automatically converted into a single-column R matrix. Thus, if x_test or y_test is a single testing data point with multiple dimensions, it must be given as a matrix.

  • The returned patchwork object contains the ggplot2 objects. One can modify the included individual ggplots by accessing them with double-bracket indexing. See https://patchwork.data-imaginist.com/ for further information.

Examples

if (FALSE) {

# See gp(), dgp(), or lgp() for an example.
}