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)
}