Learn R Programming

stilt (version 1.3.0)

predict.emul: Predict Method for an Emulator

Description

To predict using an emulator

Usage

# S3 method for emul
predict(object, theta.star, …)

Arguments

object

Standard emulator object of class "emul", as output, for example, by the emulator function.

theta.star

Parameter setting at which to predict. Must have the same number of elements as there are columns in the object$Theta.mat. Vector (or, for a 1 parameter ensemble, a single numeric value).

Additional optional arguments. At present no optional arguments are used.

Value

Prediction at the parameter setting theta.star for all times specified by object$t.vec. List with components

mean

Posterior mean. n*1 matrix. Rows correspond to the times of object$t.vec.

covariance

Posterior covariance matrix. n*n matrix. Diagonal elements represent variances at each time in object$t.vec.

Details

Emulator prediction follows standard formulation in Gaussian Process theory. For more details, see References.

References

R. Olson and W. Chang (2013): Mathematical framework for a separable Gaussian Process Emulator. Tech. Rep., available from www.scrimhub.org/resources/stilt/Olson_and_Chang_2013_Stilt_Emulator_Technical_Report.pdf.

See Also

rsurface.plot, test.csv, emulator

Examples

Run this code
# NOT RUN {
# Predict using the SICOPOLIS model at a mid-range parameter setting, and plot
# the prediction and associated uncertainty
data(emul.Sicopolis)
pred <- predict(emul.Sicopolis, c(3, 10, 50, 3, 12.5))
plot.default(NA, xlim=range(emul.Sicopolis$t.vec),
     ylim=range(pred$mean), xlab="Year",
     ylab="Ice Mass Loss relative to year 2003")
lines(emul.Sicopolis$t.vec, pred$mean, col="brown", lwd=3)
std <- sqrt(diag(pred$covariance))
lines(emul.Sicopolis$t.vec, pred$mean + std, col="brown", lty=2)
lines(emul.Sicopolis$t.vec, pred$mean - std, col="brown", lty=2)


# Fit an emulator to the 1-parameter test ensemble data, predict at
# Theta*=8, and plot the prediction
data(Data.1D.par)
data(Data.1D.model)
emul.1D <- emulator(Data.1D.par, Data.1D.model, TRUE, TRUE, 100, 0.1)
pred.1D <- predict(emul.1D, 8)
plot(emul.1D$t.vec, pred.1D$mean, xlab="Year",
     ylab="Sample Model Output at Theta*=8")
# }

Run the code above in your browser using DataLab