Calculates predicted values for the longitudinal part of a joint model.
Usage
## S3 method for class 'jointModel'
predict(object, newdata, type = c("Marginal", "Subject"),
interval = c("none", "confidence", "prediction"), level = 0.95, idVar = "id",
FtTimes = NULL, M = 300, returnData = FALSE, scale = 1.6, ...)
Arguments
object
an object inheriting from class jointModel.
newdata
a data frame in which to look for variables with which to predict.
type
a character string indicating the type of predictions to compute,
marginal or subject-specific. See Details.
interval
a character string indicating what type of intervals should be computed.
level
a numeric scalar denoting the tolerance/confidence level.
idVar
a character string indicating the name of the variable in
newdata that corresponds to the subject identifier; required
when type = "Subject".
FtTimes
a list with components numeric vectors denoting the time points
for which we wish to compute subject-specific predictions after the last
available measurement provided in newdata. For each subject in
newdata the default is a sequence of 25 equally spaced time points
from the last available measurement to the maximum follow-up time of all
subjects (plus a small quantity). This argument is only used when
type = "Subject".
M
numeric scalar denoting the number of Monte Carlo samples.
See Details.
returnData
logical; if TRUE the data frame supplied in
newdata is returned augmented with the outputs of the function.
scale
a numeric value setting the scaling of the covariance matrix
of the empirical Bayes estimates in the Metropolis step during the
Monte Carlo sampling.
...
additional arguments; currently none is used.
Details
When type = "Marginal", this function computes predicted values for the
fixed-effects part of the longitudinal submodel. In particular,
let X denote the fixed-effects design matrix calculated using
newdata. The predict() calculates hat{y} = X hat{β},
and if interval = "confidence", var(hat{y}) = X V X^t, with V
denoting the covariance matrix of hat{β}. The confidence interval
is based on a normal approximation. Confidence intervals are constructed under
the normal approximation.
When type = "Subject", this functions computes subject-specific
predictions for the longitudinal outcome based on the joint model.
This accomplished with a Monte Carlo simulation scheme, similar to the one
described in survfitJM. The only difference is in Step 3, where
for interval = "confidence"y_i^* = X_i β^* + Z_i b_i^*, whereas
for interval = "prediction"y_i^* is a random vector from a normal
distribution with mean X_i β^* + Z_i b_i^* and standard deviation
σ^*. Based on this Monte Carlo simulation scheme we take as
estimate of hat{y}_i the average of the M estimates y_i^*
from each Monte Carlo sample. Confidence intervals are constructed using the
percentiles of y_i^* from the Monte Carlo samples.
Value
If se.fit = FALSE a numeric vector of predicted values, otherwise a
list with components pred the predicted values, se.fit the
standard error for the fitted values, and low and upp the lower
and upper limits of the confidence interval. If returnData = TRUE, it
returns the data frame newdata with the previously mentioned components
added.