K fold cross validation for ctStanFit objects
ctLOO(
fit,
folds = 10,
cores = 2,
parallelFolds = FALSE,
tol = 1e-05,
subjectwise = ifelse(length(unique(fit$standata$subject)) >= folds, TRUE, FALSE),
keepfirstobs = FALSE,
leaveOutN = NA,
refit = TRUE,
casewiseApproximation = FALSE
)
list
ctStanfit object
Number of cross validation splits to use -- 10 folds implies that the model is re-fit 10 times, each time to a data set with 1/10 of the observations randomly removed.
Number of processor cores to use.
compute folds in parallel or use cores to finish single folds faster. parallelFolds will use folds times as much memory.
tolerance for optimisation of refitted samples, can generally be more relaxed than the tolerance used for fitting initially.
drop random subjects instead of data rows?
do not drop first observation (more stable estimates)
if a positive integer is given, the folds argument is ignored and instead the folds are calculated by leaving out every Nth row from the data when fitting. Leaving 2 out would result in 3 folds (starting at rows 1,2,3), each containing one third of the data.
if FALSE, do not optimise parameters for the new data set, just compute the likelihoods etc from the original parameters
if TRUE, use a bootstrapped gradient contributions approach to approximate the cross validation parameters -- much faster but less reliable.
# \donttest{
ctLOO(ctstantestfit)
# }
Run the code above in your browser using DataLab