Skip to contents

Make predictions for each observation for each fold of cross-validation.

Usage

zeitzeigerPredictCv(
  x,
  time,
  foldid,
  spcResultList,
  nKnots = 3,
  nSpc = NA,
  timeRange = seq(0, 1 - 0.01, 0.01),
  dopar = TRUE
)

Arguments

x

Matrix of measurements, observations in rows and features in columns.

time

Vector of values of the periodic variable for observations, where 0 corresponds to the lowest possible value and 1 corresponds to the highest possible value.

foldid

Vector of values indicating the fold to which each observation belongs.

spcResultList

Output of zeitzeigerSpcCv().

nKnots

Number of internal knots to use for the periodic smoothing spline.

nSpc

Vector of the number of SPCs to use for prediction. If NA (default), nSpc will become 1:K, where K is the number of SPCs in spcResult. Each value in nSpc will correspond to one prediction for each test observation. A value of 2 means that the prediction will be based on the first 2 SPCs.

timeRange

Vector of values of the periodic variable at which to calculate likelihood. The time with the highest likelihood is used as the initial value for the MLE optimizer.

dopar

Logical indicating whether to process the folds in parallel. Use doParallel::registerDoParallel() to register the parallel backend.

Value

A list of the same structure as zeitzeigerPredict(), combining the results from each fold of cross-validation.

timeDepLike

3-D array of likelihood, with dimensions for each observation, each element of nSpc, and each element of timeRange.

mleFit

List (for each element in nSpc) of lists (for each observation) of mle2 objects.

timePred

Matrix of predicted times for observations by values of nSpc.