Skip to contents

Predict corresponding time for each group of observations in cross-validation. Thus, each fold is equivalent to a group.

Usage

zeitzeigerPredictGroupCv(
  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

Result from 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 zeitzeigerPredictGroup, combining the results from each fold of cross-validation. Folds (i.e, groups) will be sorted by foldid.

timeDepLike

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

mleFit

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

timePred

Matrix of predicted times for folds by values of nSpc.