View source: R/Coxmos_coxmos.R
cv.coxmos | R Documentation |
This function provides a unified interface for cross-validation of all COX modeling methods in the package.
cv.coxmos(
method = c("coxEN", "splsicox", "splsdrcox", "splsdrcox_penalty", "splsdacox"),
X,
Y,
n_run = 3,
k_folds = 10,
x.center = TRUE,
x.scale = FALSE,
remove_near_zero_variance = TRUE,
remove_zero_variance = TRUE,
toKeep.zv = NULL,
remove_variance_at_fold_level = FALSE,
remove_non_significant_models = FALSE,
remove_non_significant = FALSE,
alpha = 0.05,
w_AIC = 0,
w_C.Index = 0,
w_AUC = 1,
w_I.BRIER = 0,
times = NULL,
max_time_points = 15,
MIN_AUC_INCREASE = 0.01,
MIN_AUC = 0.8,
MIN_COMP_TO_CHECK = 3,
pred.attr = "mean",
pred.method = "cenROC",
fast_mode = FALSE,
MIN_EPV = 5,
return_models = FALSE,
returnData = FALSE,
PARALLEL = FALSE,
verbose = FALSE,
seed = 123,
EN.alpha.list = seq(0, 1, 0.2),
max.ncomp = 8,
penalty.list = seq(0.1, 0.9, 0.2),
vector = NULL,
MIN_NVAR = 1,
MAX_NVAR = NULL,
n.cut_points = 5,
EVAL_METHOD = "AUC",
max.iter = 200,
max.variables = NULL
)
method |
Cross-validation method to use: "coxEN", "splsicox", "splsdrcox", "splsdrcox_penalty", or "splsdacox" (default: coxEN). |
X |
Numeric matrix or data.frame. Explanatory variables. Qualitative variables must be transform into binary variables. |
Y |
Numeric matrix or data.frame. Response variables. Object must have two columns named as "time" and "event". For event column, accepted values are: 0/1 or FALSE/TRUE for censored and event observations. |
n_run |
Numeric. Number of runs for cross validation (default: 3). |
k_folds |
Numeric. Number of folds for cross-validation (default: 10). |
x.center |
Logical. If x.center = TRUE, X matrix is centered to zero means (default: TRUE). |
x.scale |
Logical. If x.scale = TRUE, X matrix is scaled to unit variances (default: FALSE). |
remove_near_zero_variance |
Logical. If remove_near_zero_variance = TRUE, near zero variance variables will be removed (default: TRUE). |
remove_zero_variance |
Logical. If remove_zero_variance = TRUE, zero variance variables will be removed (default: TRUE). |
toKeep.zv |
Character vector. Name of variables in X to not be deleted by (near) zero variance filtering (default: NULL). |
remove_variance_at_fold_level |
Logical. If remove_variance_at_fold_level = TRUE, (near) zero variance will be removed at fold level. Not recommended. (default: FALSE). |
remove_non_significant_models |
Logical. If remove_non_significant_models = TRUE, non-significant models are removed before computing the evaluation. A non-significant model is a model with at least one component/variable with a P-Value higher than the alpha cutoff. |
remove_non_significant |
Logical. If remove_non_significant = TRUE, non-significant variables/components in final cox model will be removed until all variables are significant by forward selection (default: FALSE). |
alpha |
Numeric. Numerical values are regarded as significant if they fall below the threshold (default: 0.05). |
w_AIC |
Numeric. Weight for AIC evaluator. All weights must sum 1 (default: 0). |
w_C.Index |
Numeric. Weight for C-Index evaluator. All weights must sum 1 (default: 0). |
w_AUC |
Numeric. Weight for AUC evaluator. All weights must sum 1 (default: 1). |
w_I.BRIER |
Numeric. Weight for BRIER SCORE evaluator. All weights must sum 1 (default: 0). |
times |
Numeric vector. Time points where the AUC will be evaluated. If NULL, a maximum of 'max_time_points' points will be selected equally distributed (default: NULL). |
max_time_points |
Numeric. Maximum number of time points to use for evaluating the model (default: 15). |
MIN_AUC_INCREASE |
Numeric. Minimum improvement between different cross validation models to continue evaluating higher values in the multiple tested parameters. If it is not reached for next 'MIN_COMP_TO_CHECK' models and the minimum 'MIN_AUC' value is reached, the evaluation stops (default: 0.01). |
MIN_AUC |
Numeric. Minimum AUC desire to reach cross-validation models. If the minimum is reached, the evaluation could stop if the improvement does not reach an AUC higher than adding the 'MIN_AUC_INCREASE' value (default: 0.8). |
MIN_COMP_TO_CHECK |
Numeric. Number of penalties/components to evaluate to check if the AUC improves. If for the next 'MIN_COMP_TO_CHECK' the AUC is not better and the 'MIN_AUC' is meet, the evaluation could stop (default: 3). |
pred.attr |
Character. Way to evaluate the metric selected. Must be one of the following: "mean" or "median" (default: "mean"). |
pred.method |
Character. AUC evaluation algorithm method for evaluate the model performance. Must be one of the following: "risksetROC", "survivalROC", "cenROC", "nsROC", "smoothROCtime_C", "smoothROCtime_I" (default: "cenROC"). |
fast_mode |
Logical. If fast_mode = TRUE, for each run, only one fold is evaluated simultaneously. If fast_mode = FALSE, for each run, all linear predictors are computed for test observations. Once all have their linear predictors, the evaluation is perform across all the observations together (default: FALSE). |
MIN_EPV |
Numeric. Minimum number of Events Per Variable (EPV) you want reach for the final cox model. Used to restrict the number of variables/components can be computed in final cox models. If the minimum is not meet, the model cannot be computed (default: 5). |
return_models |
Logical. Return all models computed in cross validation (default: FALSE). |
returnData |
Logical. Return original and normalized X and Y matrices (default: TRUE). |
PARALLEL |
Logical. Run the cross validation with multicore option. As many cores as your total cores - 1 will be used. It could lead to higher RAM consumption (default: FALSE). |
verbose |
Logical. If verbose = TRUE, extra messages could be displayed (default: FALSE). |
seed |
Number. Seed value for performing runs/folds divisions (default: 123). |
EN.alpha.list |
Numeric vector. Elastic net mixing parameter values for cross-validation. If NULL, default seq(0,1,0.1) will be used (default: NULL) (coxEN). |
max.ncomp |
Numeric. Maximum number of latent components to compute for the (s)PLS model (default: NULL) (splsicox, splsdrcox, splsdrcox_penalty, splsdacox). |
penalty.list |
Numeric vector. Penalty values for variable selection. If NULL, default seq(0,0.9,0.1) will be used (default: NULL) (splsicox, splsdrcox_penalty). |
vector |
Numeric vector. Used for computing best number of variables. As many values as components have to be provided. If vector = NULL, an automatic detection is perform (default: NULL) (splsdrcox, splsdacox). |
MIN_NVAR |
Numeric. Minimum range size for computing cut points to select the best number of variables to use (default: NULL) (splsdrcox, splsdacox). |
MAX_NVAR |
Numeric. Maximum range size for computing cut points to select the best number of variables to use. If NULL, the number of variables is selected (default: NULL) (splsdrcox, splsdacox). |
n.cut_points |
Numeric. Number of cut points for searching the optimal number of variables. If only two cut points are selected, minimum and maximum size are used (default: NULL) (splsdrcox, splsdacox). |
EVAL_METHOD |
Character. The selected metric will be use to compute the best number of variables. Must be one of the following: "AUC", "IBS" or "C.Index" (default: NULL) (splsdrcox, splsdacox). |
max.iter |
Numeric. Maximum number of iterations for PLS convergence (default: NULL) (splsdrcox, splsdacox). |
max.variables |
Numeric. Maximum number of variables to keep in the cox model (default: NULL) (coxEN). |
A cross-validation object of the specified type.
cv.coxEN
for Elastic Net cross-validation,
cv.splsicox
for SPLS-COX cross-validation,
cv.splsdrcox
for SPLS-DRCOX cross-validation,
cv.splsdrcox_penalty
for penalized SPLS-DRCOX cross-validation,
cv.splsdacox
for SPLS-DACOX cross-validation
data("X_proteomic")
data("Y_proteomic")
set.seed(123)
index_train <- caret::createDataPartition(Y_proteomic$event, p = .5, list = FALSE, times = 1)
X_train <- X_proteomic[index_train,1:50]
Y_train <- Y_proteomic[index_train,]
# Elastic Net Cross-Validation
# cv_model <- cv_coxmos(method = "coxEN", X = X_train, Y = Y_train, EN.alpha.list = seq(0, 1, 0.2))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.