predict.emul {stilt} | R Documentation |
Predict Method for an Emulator
Description
To predict using an emulator
Usage
## S3 method for class 'emul'
predict(object, theta.star, ...)
Arguments
object |
Standard emulator object of class "emul", as output, for example, by the |
theta.star |
Parameter setting at which to predict. Must have the same number of
elements as there are columns in the |
... |
Additional optional arguments. At present no optional arguments are used. |
Details
Emulator prediction follows standard formulation in Gaussian Process theory. For more details, see References.
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 |
covariance |
Posterior covariance matrix. n*n matrix. Diagonal
elements represent variances at each time in |
Note
Prediction outside the emulator range ("extrapolation") is currently not allowed.
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
# 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")