CPF {GPareto} | R Documentation |
Conditional Pareto Front simulations
Description
Compute (on a regular grid) the empirical attainment function from conditional simulations of Gaussian processes corresponding to two objectives. This is used to estimate the Vorob'ev expectation of the attained set and the Vorob'ev deviation.
Usage
CPF(
fun1sims,
fun2sims,
response,
paretoFront = NULL,
f1lim = NULL,
f2lim = NULL,
refPoint = NULL,
n.grid = 100,
compute.VorobExp = TRUE,
compute.VorobDev = TRUE
)
Arguments
fun1sims |
numeric matrix containing the conditional simulations of the first output (one sample in each row), |
fun2sims |
numeric matrix containing the conditional simulations of the second output (one sample in each row), |
response |
a matrix containing the value of the two objective functions, one output per row, |
paretoFront |
optional matrix corresponding to the Pareto front of the observations. It is
estimated from |
f1lim |
optional vector (see details), |
f2lim |
optional vector (see details), |
refPoint |
optional vector (see details), |
n.grid |
integer determining the grid resolution, |
compute.VorobExp |
optional boolean indicating whether the Vorob'ev Expectation
should be computed. Default is |
compute.VorobDev |
optional boolean indicating whether the Vorob'ev deviation
should be computed. Default is |
Details
Works with two objectives. The user can provide locations of grid lines for
computation of the attainement function with vectors f1lim
and f2lim
, in the form of regularly spaced points.
It is possible to provide only refPoint
as a reference for hypervolume computations.
When missing, values are determined from the axis-wise extrema of the simulations.
Value
A list which is given the S3 class "CPF
".
-
x, y
: locations of grid lines at which the values of the attainment are computed, -
values
: numeric matrix containing the values of the attainment on the grid, -
PF
: matrix corresponding to the Pareto front of the observations, -
responses
: matrix containing the value of the two objective functions, one objective per column, -
fun1sims, fun2sims
: conditional simulations of the first/second output, -
VE
: Vorob'ev expectation, computed ifcompute.VorobExp = TRUE
(default), -
beta_star
: Vorob'ev threshold, computed ifcompute.VorobExp = TRUE
(default), -
VD
: Vorov'ev deviation, computed ifcompute.VorobDev = TRUE
(default),
References
M. Binois, D. Ginsbourger and O. Roustant (2015), Quantifying Uncertainty on Pareto Fronts with Gaussian process conditional simulations,
European Journal of Operational Research, 243(2), 386-394.
C. Chevalier (2013), Fast uncertainty reduction strategies relying on Gaussian process models, University of Bern, PhD thesis.
I. Molchanov (2005), Theory of random sets, Springer.
See Also
Methods coef
, summary
and plot
can be used to get the coefficients from a CPF
object,
to obtain a summary or to display the attainment function (with the Vorob'ev expectation if compute.VorobExp
is TRUE
).
Examples
library(DiceDesign)
set.seed(42)
nvar <- 2
fname <- "P1" # Test function
# Initial design
nappr <- 10
design.grid <- maximinESE_LHS(lhsDesign(nappr, nvar, seed = 42)$design)$design
response.grid <- t(apply(design.grid, 1, fname))
# kriging models: matern5_2 covariance structure, linear trend, no nugget effect
mf1 <- km(~., design = design.grid, response = response.grid[,1])
mf2 <- km(~., design = design.grid, response = response.grid[,2])
# Conditional simulations generation with random sampling points
nsim <- 40
npointssim <- 150 # increase for better results
Simu_f1 <- matrix(0, nrow = nsim, ncol = npointssim)
Simu_f2 <- matrix(0, nrow = nsim, ncol = npointssim)
design.sim <- array(0, dim = c(npointssim, nvar, nsim))
for(i in 1:nsim){
design.sim[,,i] <- matrix(runif(nvar*npointssim), nrow = npointssim, ncol = nvar)
Simu_f1[i,] <- simulate(mf1, nsim = 1, newdata = design.sim[,,i], cond = TRUE,
checkNames = FALSE, nugget.sim = 10^-8)
Simu_f2[i,] <- simulate(mf2, nsim = 1, newdata = design.sim[,,i], cond = TRUE,
checkNames = FALSE, nugget.sim = 10^-8)
}
# Attainment and Voreb'ev expectation + deviation estimation
CPF1 <- CPF(Simu_f1, Simu_f2, response.grid)
# Details about the Vorob'ev threshold and Vorob'ev deviation
summary(CPF1)
# Graphics
plot(CPF1)