View source: R/precomputeUpdateData.R
precomputeUpdateData | R Documentation |
This function is used in combination with computeQuickKrigcov
and computes an output list that serves as input in that function.
precomputeUpdateData(model, integration.points)
model |
A Kriging model of |
integration.points |
p*d matrix of points for numerical integration in the X space. |
A list with components:
Kinv.c.olddata |
Matrix equal to K^(-1)*c where K is the non conditional covariance matrix at the design points and c is the non conditional covariances between the design points and the integration points. |
Kinv.F |
Matrix equal to K^(-1)*F where F is a matrix with the values of the trend functions at the design points. |
first.member |
Matrix with a complicated expression. |
Clement Chevalier (University of Neuchatel, Switzerland)
Chevalier C., Bect J., Ginsbourger D., Vazquez E., Picheny V., Richet Y. (2014), Fast parallel kriging-based stepwise uncertainty reduction with application to the identification of an excursion set, Technometrics, vol. 56(4), pp 455-465
Chevalier C., Ginsbourger D. (2014), Corrected Kriging update formulae for batch-sequential data assimilation, in Pardo-Iguzquiza, E., et al. (Eds.) Mathematics of Planet Earth, pp 119-122
computeQuickKrigcov
#precomputeUpdateData set.seed(9) N <- 20 #number of observations testfun <- branin #a 20 points initial design design <- data.frame( matrix(runif(2*N),ncol=2) ) response <- testfun(design) #km object with matern3_2 covariance #params estimated by ML from the observations model <- km(formula=~., design = design, response = response,covtype="matern3_2") #the points where we want to compute prediction (if a point new.x is added to the doe) n.grid <- 20 #you can run it with 100 x.grid <- y.grid <- seq(0,1,length=n.grid) integration.points <- expand.grid(x.grid,y.grid) integration.points <- as.matrix(integration.points) precalc.data <- precomputeUpdateData(model=model,integration.points=integration.points) #now we can compute quickly kriging covariances #between the integration.points and any other points newdata <- matrix(c(0.6,0.6),ncol=2) pred <- predict_nobias_km(object=model,newdata=newdata,type="UK",se.compute=TRUE) kn <- computeQuickKrigcov(model=model,integration.points=integration.points,X.new=newdata, precalc.data=precalc.data,F.newdata=pred$F.newdata, c.newdata=pred$c) z.grid <- matrix(kn, n.grid, n.grid) #plots: contour of the covariances, DOE points and new point #these covariances have been computed quickly with computeQuickKrigcov image(x=x.grid,y=y.grid,z=z.grid,col=grey.colors(10)) contour(x=x.grid,y=y.grid,z=z.grid,15,add=TRUE) points(design, col="black", pch=17, lwd=4,cex=2) points(newdata, col="red", pch=17, lwd=4,cex=3) title("Kriging covariances with the point (0.6,0.6), in red")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.