Description Usage Arguments Details Value Author(s) Examples
View source: R/surnew_optim_robinv_fast.R
Compute the surnew criterion at a given point x
1 2 3 4 | surnew_optim_robinv_fast(x, inv.integration.points, allsimu,
allsimucentered, allsimupoints, allprecomp, allKn.inv,
integration.weights = NULL, model, T, new.noise.var = NULL,
current.sur, randmatrix, penalty_visited = 0.01)
|
x |
Array of size d: the point where the criterion is evaluated. |
inv.integration.points |
n x d.inv matrix containing the integration points |
allsimu |
p x (nsimu*n) matrix where p is the number of simulation points. The first nsimu columns are the nsimu simulations in p points for the first integration point, the next nsimu columns are linked to the next integration point and so on. |
allsimucentered |
p x (nsimu*n) matrix containing the later simulations centered by substracting the kriging mean of the points where the simulations are performed. |
allsimupoints |
(n*p) x d matrix containing all the points where simulations are performed. The first p rows correspond to the simulation points linked to the first integration points, and so on. |
allprecomp |
List with 3 fields obtained from a call to the function
|
allKn.inv |
(n*p) x p matrix containing n different p x p matrices. Matrix number i is the inverse of the p x p non-conditional covariance matrix of the p simulation points associated to the integration point i. |
integration.weights |
Array of size n containing the weights given to each integration points. |
model |
The current kriging model. km object. |
T |
Target threshold. |
new.noise.var |
Noise variance of the new observations. Leave to NULL for noiseless functions. For noisy functions, any non zero value is valid and will give the same result. |
current.sur |
The current integral of pn (1-pn) where pn is the excursion probability. This argument is used to floor the value of the criterion since, if a new point is evaluated, the expected future uncertainty is supposed to be lower than current.sur. |
randmatrix |
n x nsimu matrix containing independent realizations of a standard gaussian random variable. |
penalty_visited |
For points which are too close to the already visited points, the
function outputs |
The arguments inv.integration.points, allsimu, allsimucentered, allsimupoints,
allprecomp, allKn.inv, integration.weights can be generated with a single call to the
integration_design_robinv
function.
The code of this function is meant to be as fast as possible. A large part of the computation of the criterion is performed through a call to an optimized C++ function. Suggestions to further improve the speed of these computations are of course welcome.
A scalar: the value of the surnew criterion
Clement Chevalier clement.chevalier@unine.ch
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | library(KrigInv)
myfun <- branin_robinv
d <- 3
set.seed(8)
n0 <- 30
T <- 10
opt.index <- c(3)
inv.index <- c(1,2)
lower <- rep(0,times=d)
upper <- rep(1,times=d)
design <- matrix(runif(d*n0),nrow=n0)
response <- myfun(design)
model <- km(formula = ~1,design = design,response = response,covtype = "matern3_2")
n <- 20 ;p <- 50; nsimu <- 1000
integcontrol <- list(distrib = "surnew",n.points = n,finaldistrib="surnew",
n.candidates=50,nsimu=nsimu,n.optpoints = p,
choose_optpoints=TRUE,n.optpoints.candidates=500)
## Not run:
obj <- integration_design_robinv(integcontrol = integcontrol,d=d,lower=lower,upper=upper,
opt.index=opt.index,inv.index=inv.index,model=model,T=T)
randmatrix <- matrix(rnorm(nsimu*n),nrow=n)
current.sur <- sum(obj$integration.weights*obj$pn*(1-obj$pn))
x <- c(0.841295 , 0.0757517 , 0.7507468)
result <- surnew_optim_robinv_fast(x = x,allsimu = obj$allsimu,
inv.integration.points = obj$inv.integration.points,
allsimucentered = obj$allsimucentered,
allsimupoints = obj$allsimupoints,
allprecomp = obj$allprecomp,
allKn.inv = obj$allKn.inv,
integration.weights = obj$integration.weights,
model = model,T = T,new.noise.var = NULL,
current.sur = current.sur,randmatrix = randmatrix)
result
current.sur
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.