GPModel
Make predictions for a GPModel
# S3 method for GPModel
predict(object, predict_response = TRUE,
predict_var = FALSE, predict_cov_mat = FALSE, y = NULL,
cov_pars = NULL, group_data_pred = NULL,
group_rand_coef_data_pred = NULL, gp_coords_pred = NULL,
gp_rand_coef_data_pred = NULL, cluster_ids_pred = NULL, X_pred = NULL,
use_saved_data = FALSE, offset = NULL, offset_pred = NULL,
fixed_effects = NULL, fixed_effects_pred = NULL,
vecchia_pred_type = NULL, num_neighbors_pred = NULL, ...)
Predictions from a GPModel
. A list with three entries is returned:
"mu" (first entry): predictive (=posterior) mean. For (generalized) linear mixed effects models, i.e., models with a linear regression term, this consists of the sum of fixed effects and random effects predictions
"cov" (second entry): predictive (=posterior) covariance matrix. This is NULL if 'predict_cov_mat=FALSE'
"var" (third entry) : predictive (=posterior) variances. This is NULL if 'predict_var=FALSE'
a GPModel
A boolean
. If TRUE, the response variable (label)
is predicted, otherwise the latent random effects
A boolean
. If TRUE, the (posterior)
predictive variances are calculated
A boolean
. If TRUE, the (posterior)
predictive covariance is calculated in addition to the (posterior) predictive mean
Observed data (can be NULL, e.g. when the model has been estimated already and the same data is used for making predictions)
A vector
containing covariance parameters which are used if the
GPModel
has not been trained or if predictions should be made for other
parameters than the trained ones
A vector
or matrix
with elements being group levels
for which predictions are made (if there are grouped random effects in the GPModel
)
A vector
or matrix
with covariate data
for grouped random coefficients (if there are some in the GPModel
)
A matrix
with prediction coordinates (=features) for
Gaussian process (if there is a GP in the GPModel
)
A vector
or matrix
with covariate data for
Gaussian process random coefficients (if there are some in the GPModel
)
A vector
with elements indicating the realizations of
random effects / Gaussian processes for which predictions are made
(set to NULL if you have not specified this when creating the GPModel
)
A matrix
with prediction covariate data for the
fixed effects linear regression term (if there is one in the GPModel
)
A boolean
. If TRUE, predictions are done using
a priory set data via the function '$set_prediction_data' (this option is not used by users directly)
A numeric
vector
with
additional fixed effects contributions that are added to the linear predictor (= offset).
The length of this vector needs to equal the number of training data points.
A numeric
vector
with
additional fixed effects contributions that are added to the linear predictor for the prediction points (= offset).
The length of this vector needs to equal the number of prediction points.
This is discontinued. Use the renamed equivalent argument offset
instead
This is discontinued. Use the renamed equivalent argument offset_pred
instead
A string
specifying the type of Vecchia approximation used for making predictions.
This is discontinued here. Use the function 'set_prediction_data' to specify this
an integer
specifying the number of neighbors for making predictions.
This is discontinued here. Use the function 'set_prediction_data' to specify this
(not used, ignore this, simply here that there is no CRAN warning)
Fabio Sigrist
# See https://github.com/fabsig/GPBoost/tree/master/R-package for more examples
# \donttest{
data(GPBoost_data, package = "gpboost")
# Add intercept column
X1 <- cbind(rep(1,dim(X)[1]),X)
X_test1 <- cbind(rep(1,dim(X_test)[1]),X_test)
#--------------------Grouped random effects model: single-level random effect----------------
gp_model <- fitGPModel(group_data = group_data[,1], y = y, X = X1,
likelihood="gaussian", params = list(std_dev = TRUE))
summary(gp_model)
# Make predictions
pred <- predict(gp_model, group_data_pred = group_data_test[,1],
X_pred = X_test1, predict_var = TRUE)
pred$mu # Predicted mean
pred$var # Predicted variances
# Also predict covariance matrix
pred <- predict(gp_model, group_data_pred = group_data_test[,1],
X_pred = X_test1, predict_cov_mat = TRUE)
pred$mu # Predicted mean
pred$cov # Predicted covariance
#--------------------Gaussian process model----------------
gp_model <- fitGPModel(gp_coords = coords, cov_function = "matern", cov_fct_shape = 1.5,
likelihood="gaussian", y = y, X = X1, params = list(std_dev = TRUE))
summary(gp_model)
# Make predictions
pred <- predict(gp_model, gp_coords_pred = coords_test,
X_pred = X_test1, predict_cov_mat = TRUE)
pred$mu # Predicted (posterior) mean of GP
pred$cov # Predicted (posterior) covariance matrix of GP
# }
Run the code above in your browser using DataLab