Compute and evaluate predictions after performing K-fold
cross-validation via kfold.
kfold_predict(x, method = "posterior_predict", resp = NULL, ...)Object of class 'kfold' computed by kfold.
For kfold_predict to work, the fitted model objects need to have
been stored via argument save_fits of kfold.
Method used to obtain predictions. Can be set to
"posterior_predict" (the default), "posterior_epred",
or "posterior_linpred". For more details, see the respective
function documentations.
Optional names of response variables. If specified, predictions are performed only for the specified response variables.
Further arguments passed to prepare_predictions
that control several aspects of data validation and prediction.
A list with two slots named 'y' and 'yrep'.
Slot y contains the vector of observed responses.
Slot yrep contains the matrix of predicted responses,
with rows being posterior draws and columns being observations.
if (FALSE) {
fit <- brm(count ~ zBase * Trt + (1|patient),
data = epilepsy, family = poisson())
# perform k-fold cross validation
(kf <- kfold(fit, save_fits = TRUE, chains = 1))
# define a loss function
rmse <- function(y, yrep) {
yrep_mean <- colMeans(yrep)
sqrt(mean((yrep_mean - y)^2))
}
# predict responses and evaluate the loss
kfp <- kfold_predict(kf)
rmse(y = kfp$y, yrep = kfp$yrep)
}