Train and test a ZeitZeiger predictor, calling the necessary functions.

## Usage

zeitzeiger(
xTrain,
timeTrain,
xTest,
nKnots = 3,
nTime = 10,
useSpc = TRUE,
sumabsv = 2,
orth = TRUE,
nSpc = 2,
timeRange = seq(0, 1 - 0.01, 0.01)
)

## Arguments

xTrain

Matrix of measurements for training data, observations in rows and features in columns.

timeTrain

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

xTest

Matrix of measurements for test data, observations in rows and features in columns.

nKnots

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

nTime

Number of time-points by which to discretize the time-dependent behavior of each feature. Corresponds to the number of rows in the matri for which the SPCs will be calculated.

useSpc

Logical indicating whether to use PMA::SPC() (default) or base::svd().

sumabsv

L1-constraint on the SPCs, passed to PMA::SPC().

orth

Logical indicating whether to require left singular vectors be orthogonal to each other, passed to PMA::SPC().

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.

## Value

fitResult

Output of zeitzeigerFit()

spcResult

Output of zeitzeigerSpc()

predResult

Output of zeitzeigerPredict()

zeitzeigerFit(), zeitzeigerSpc(), zeitzeigerPredict()