# Predict corresponding time for groups of observations on cross-validation

Source:`R/zeitzeiger_cv.R`

`zeitzeigerPredictGroupCv.Rd`

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`

.