predict function

Model Predictions from GPfit

Model Predictions from GPfit

Computes the regularized predicted response y^δlb,M(x)\hat{y}_{\delta_{lb},M}(x)

and the mean squared error sδlb,M2(x)s^2_{\delta_{lb},M}(x) for a new set of inputs using the fitted GP model.

The value of M determines the number of iterations (or terms) in approximating R1Rδlb,M1R^{-1} \approx R^{-1}_{\delta_{lb},M}. The iterative use of the nugget δlb\delta_{lb}, as outlined in Ranjan et al. (2011), is used in calculating y^δlb,M(x)\hat{y}_{\delta_{lb},M}(x) and sδlb,M2(x)s^2_{\delta_{lb},M}(x), where c("Rdelta,M1=sumt=1M\nR_{\\delta,M}^{-1} = \\sum_{t = 1}^{M}\n", "deltat1(R+deltaI)t\\delta^{t - 1}(R+\\delta I)^{-t}").

## S3 method for class 'GP' predict(object, xnew = object$X, M = 1, ...) ## S3 method for class 'GP' fitted(object, ...)

Arguments

  • object: a class GP object estimated by GP_fit
  • xnew: the (n_new x d) design matrix of test points where model predictions and MSEs are desired
  • M: the number of iterations. See 'Details'
  • ...: for compatibility with generic method predict

Returns

Returns a list containing the predicted values (Y_hat), the mean squared errors of the predictions (MSE), and a matrix (complete_data) containing xnew, Y_hat, and MSE

Methods (by class)

  • predict(GP): The predict method returns a list of elements Y_hat (fitted values), Y (dependent variable), MSE (residuals), and completed_data (the matrix of independent variables, Y_hat, and MSE).

Functions

  • fitted(GP): The fitted method extracts the complete data.

Examples

## 1D Example n <- 5 d <- 1 computer_simulator <- function(x){ x <- 2*x+0.5 sin(10*pi*x)/(2*x) + (x-1)^4 } set.seed(3) library(lhs) x <- maximinLHS(n,d) y <- computer_simulator(x) xvec <- seq(from = 0, to = 1, length.out = 10) GPmodel <- GP_fit(x, y) head(fitted(GPmodel)) lapply(predict(GPmodel, xvec), head) ## 1D Example 2 n <- 7 d <- 1 computer_simulator <- function(x) { log(x+0.1)+sin(5*pi*x) } set.seed(1) library(lhs) x <- maximinLHS(n,d) y <- computer_simulator(x) xvec <- seq(from = 0,to = 1, length.out = 10) GPmodel <- GP_fit(x, y) head(fitted(GPmodel)) predict(GPmodel, xvec) ## 2D Example: GoldPrice Function computer_simulator <- function(x) { x1 <- 4*x[,1] - 2 x2 <- 4*x[,2] - 2 t1 <- 1 + (x1 + x2 + 1)^2*(19 - 14*x1 + 3*x1^2 - 14*x2 + 6*x1*x2 + 3*x2^2) t2 <- 30 + (2*x1 -3*x2)^2*(18 - 32*x1 + 12*x1^2 + 48*x2 - 36*x1*x2 + 27*x2^2) y <- t1*t2 return(y) } n <- 10 d <- 2 set.seed(1) library(lhs) x <- maximinLHS(n,d) y <- computer_simulator(x) GPmodel <- GP_fit(x,y) # fitted values head(fitted(GPmodel)) # new data xvector <- seq(from = 0,to = 1, length.out = 10) xdf <- expand.grid(x = xvector, y = xvector) predict(GPmodel, xdf)

References

Ranjan, P., Haynes, R., and Karsten, R. (2011). A Computationally Stable Approach to Gaussian Process Interpolation of Deterministic Computer Simulation Data, Technometrics, 53(4), 366 - 378.

See Also

GP_fit for estimating the parameters of the GP model;

plot for plotting the predicted and error surfaces.

Author(s)

Blake MacDonald, Hugh Chipman, Pritam Ranjan

  • Maintainer: Hugh Chipman
  • License: GPL-2
  • Last published: 2025-04-12

Useful links