predErrCompRisks {discSurv} | R Documentation |
Prediction Error Curves for Competing Risks
Description
Estimates prediction error curves for discrete survival competing risks models
Usage
predErrCompRisks(
testPreds,
testDataShort,
trainDataShort,
timeColumn,
eventColumns,
tmax = NULL
)
Arguments
testPreds |
Predictions on the test data with model fitted on training data ("numeric matrix"). Predictions are stored in the rows and the number of columns equal the number of events. |
testDataShort |
Test data in short format ("class data.frame"). |
trainDataShort |
Train data in short format ("class data.frame"). |
timeColumn |
Character giving the column name of the observed times("character vector"). |
eventColumns |
Character vector giving the column names of the event indicators (excluding censoring column) ("character vector"). |
tmax |
Gives the maximum time interval for which prediction errors are calculated ("integer vector"). It must not be higher than the maximum observed time in the training data. |
Value
Calculated prediction errors for each competing event. Array with one matrix per competing event, with the predictions in the rows and the time points in the columns.
Author(s)
Moritz Berger moritz.berger@imbie.uni-bonn.de
https://www.imbie.uni-bonn.de/personen/dr-moritz-berger/
References
Heyard R, Timsit J, Held L, COMBACTE-MAGNET,consortium (2019). “Validation of discrete time-to-event prediction models in the presence of competing risks.” Biometrical Journal, 62, 643-657.
See Also
intPredErrCompRisks
, predErrCurve
Examples
###########################
# Example unemployment data
library(Ecdat)
data(UnempDur)
# Select subsample
selectInd1 <- 1:200
selectInd2 <- 201:400
trainSet <- UnempDur[which(UnempDur$spell %in% (1:10))[selectInd1], ]
testSet <- UnempDur[which(UnempDur$spell %in% (1:10))[selectInd2], ]
# Convert to long format
trainSet_long <- dataLongCompRisks(dataShort=trainSet, timeColumn="spell",
eventColumns=c("censor1", "censor4"), timeAsFactor=TRUE)
tmax <- max(trainSet$spell)
testSet_long <- dataLongCompRisks(dataShort=testSet, timeColumn="spell",
eventColumns=c("censor1", "censor4"), aggTimeFormat = TRUE, lastTheoInt=tmax,
timeAsFactor=TRUE)
# Estimate continuation ratio model with logit link
vglmFit <- VGAM::vglm(formula=cbind(e0, e1, e2) ~ timeInt + age + logwage,
data=trainSet_long, family=VGAM::multinomial(refLevel="e0"))
# Calculate predicted hazards
predHazards <- VGAM::predictvglm(vglmFit, newdata=testSet_long, type="response")
# Compute prediction error
predErrCompRisks(testPreds=predHazards[,-1], testSet, trainSet, "spell",
c("censor1", "censor4"), tmax)