predict.MuFiMeshGP: predict.MuFiMeshGP

View source: R/predict.MuFiMeshGP.R

predict.MuFiMeshGPR Documentation

predict.MuFiMeshGP

Description

The function computes the posterior mean and standard deviation of the MuFiMeshGP model.

Usage

## S3 method for class 'MuFiMeshGP'
predict(object, x, t, ...)

Arguments

object

an object of class MuFiMeshGP.

x

matrix of new input locations to predict.

t

vector or new fidelity levels to use for predictions.

...

no other argument.

Details

Prediction of the MuFiMeshGP emulator for any fidelity level.

From the object fitted by MuFiMeshGP or update.MuFiMeshGP the posterior mean and standard deviation are calculated for any input location and fidelity level. For details, see Boutelet and Sung (2025, <arXiv:2503.23158>).

Value

  • mean: vector of predictive posterior mean.

  • sd: vector of predictive posterior standard deviation.

See Also

MuFiMeshGP for the model

Examples

# Example code
f <- function(x, t){
  x <- c(x)
  return(exp(-1.4*x)*cos(3.5*pi*x)+sin(40*x)/10*t^2)
}

set.seed(1)
X <- matrix(runif(15,0,1), ncol = 1)
tt <- runif(15,0.5,2)

Y <- f(c(X), tt)

fit.mufimeshgp <- MuFiMeshGP(X, tt, Y)

xx <- matrix(seq(0,1,0.01), ncol = 1)
ftrue <- f(xx, 0)

# predict
pred.mufimeshgp <- predict(fit.mufimeshgp, xx, rep(0,101))

mu <- pred.mufimeshgp$mean
s <- pred.mufimeshgp$sd
lower <- mu + qnorm(0.025)*s
upper <- mu + qnorm(0.975)*s

# plot

oldpar <- par(mfrow = c(1,1))
plot(xx, ftrue, "l", ylim = c(-1,1.3), ylab = "y", xlab = "x")
lines(c(xx), mu, col = "blue")
lines(c(xx), lower, col = "blue", lty = 2)
lines(c(xx), upper, col = "blue", lty = 2)
points(c(X), Y, col = "red")
par(oldpar)

### RMSE ###
print(sqrt(mean((ftrue - mu))^2))


MuFiMeshGP documentation built on Sept. 1, 2025, 5:09 p.m.