compute_OOBerror {DynForest} | R Documentation |
Compute the Out-Of-Bag error (OOB error)
Description
Compute the Out-Of-Bag error (OOB error)
Usage
compute_OOBerror(DynForest_obj, IBS.min = 0, IBS.max = NULL, ncores = NULL)
Arguments
DynForest_obj |
|
IBS.min |
(Only with survival outcome) Minimal time to compute the Integrated Brier Score. Default value is set to 0. |
IBS.max |
(Only with survival outcome) Maximal time to compute the Integrated Brier Score. Default value is set to the maximal time-to-event found. |
ncores |
Number of cores used to grow trees in parallel. Default value is the number of cores of the computer-1. |
Value
compute_OOBerror()
function return a list with the following elements:
data | A list containing the data used to grow the trees |
rf | A table with each tree in column. Provide multiple characteristics about the tree building |
type | Outcome type |
times | A numeric vector containing the time-to-event for all subjects |
cause | Indicating the cause of interest |
causes | A numeric vector containing the causes indicator |
Inputs | A list of 3 elements: Longitudinal , Numeric and Factor . Each element contains the names of the predictors |
Longitudinal.model | A list of longitudinal markers containing the formula used for modeling in the random forest |
param | A list containing the hyperparameters |
oob.err | A numeric vector containing the OOB error for each subject |
oob.pred | Outcome prediction for all subjects |
IBS.range | A vector containing the IBS min and max |
Examples
data(pbc2)
# Get Gaussian distribution for longitudinal predictors
pbc2$serBilir <- log(pbc2$serBilir)
pbc2$SGOT <- log(pbc2$SGOT)
pbc2$albumin <- log(pbc2$albumin)
pbc2$alkaline <- log(pbc2$alkaline)
# Sample 100 subjects
set.seed(1234)
id <- unique(pbc2$id)
id_sample <- sample(id, 100)
id_row <- which(pbc2$id%in%id_sample)
pbc2_train <- pbc2[id_row,]
timeData_train <- pbc2_train[,c("id","time",
"serBilir","SGOT",
"albumin","alkaline")]
# Create object with longitudinal association for each predictor
timeVarModel <- list(serBilir = list(fixed = serBilir ~ time,
random = ~ time),
SGOT = list(fixed = SGOT ~ time + I(time^2),
random = ~ time + I(time^2)),
albumin = list(fixed = albumin ~ time,
random = ~ time),
alkaline = list(fixed = alkaline ~ time,
random = ~ time))
# Build fixed data
fixedData_train <- unique(pbc2_train[,c("id","age","drug","sex")])
# Build outcome data
Y <- list(type = "surv",
Y = unique(pbc2_train[,c("id","years","event")]))
# Run DynForest function
res_dyn <- DynForest(timeData = timeData_train, fixedData = fixedData_train,
timeVar = "time", idVar = "id",
timeVarModel = timeVarModel, Y = Y,
ntree = 50, nodesize = 5, minsplit = 5,
cause = 2, ncores = 2, seed = 1234)
# Compute OOB error
res_dyn_OOB <- compute_OOBerror(DynForest_obj = res_dyn, ncores = 2)
[Package DynForest version 1.1.3 Index]