sb.splsdrcox {Coxmos} | R Documentation |
SB.sPLS-DRCOX
Description
This function performs a single-block sparse partial least squares deviance residual Cox (SB.sPLS-DRCOX). The function returns a Coxmos model with the attribute model as "SB.sPLS-DRCOX".
Usage
sb.splsdrcox(
X,
Y,
n.comp = 4,
penalty = 0.5,
x.center = TRUE,
x.scale = FALSE,
remove_near_zero_variance = TRUE,
remove_zero_variance = TRUE,
toKeep.zv = NULL,
remove_non_significant = FALSE,
alpha = 0.05,
MIN_EPV = 5,
returnData = TRUE,
verbose = FALSE
)
Arguments
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.comp |
Numeric. Number of latent components to compute for the (s)PLS model (default: 10). |
penalty |
Numeric. Penalty for sPLS-DRCOX. If penalty = 0 no penalty is applied, when penalty = 1 maximum penalty (no variables are selected) based on 'plsRcox' penalty. Equal or greater than 1 cannot be selected (default: 0.5). |
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_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). |
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). |
returnData |
Logical. Return original and normalized X and Y matrices (default: TRUE). |
verbose |
Logical. If verbose = TRUE, extra messages could be displayed (default: FALSE). |
Details
The SB.sPLS-DRCOX
function performs a single-block sparse partial least squares deviance residual
Cox analysis. This method is designed to handle datasets with a single block of explanatory variables
and aims to identify the most relevant features that contribute to the survival outcome. The method
combines the strengths of sparse partial least squares (sPLS) with Cox regression, allowing for
dimensionality reduction, feature selection, and survival analysis in a unified framework.
The key feature of this function is the use of deviance residuals as the response in the sPLS model. Deviance residuals are derived from a preliminary Cox model and capture the discrepancies between the observed and expected number of events. By using these residuals as the response, the sPLS model can focus on identifying the explanatory variables that have the most significant impact on the survival outcome.
The function offers flexibility in specifying various hyperparameters, such as the number of latent
components (n.comp
) and the penalty for variable selection (penalty
). The penalty parameter, penalty
,
controls the sparsity of the model, with higher values leading to more variables being excluded from
the model. This allows for a balance between model complexity and interpretability.
Data preprocessing options, such as centering and scaling of the explanatory variables and removal of near-zero variance variables, are also provided. These preprocessing steps ensure that the data is in a suitable format for the sPLS model and can help improve the stability and performance of the analysis.
The output of the function provides a comprehensive overview of the sPLS-DRCOX model, including the normalized data, PLS weights and scores, and the final Cox model. Visualization tools and metrics such as AIC and BIC are also provided to aid in understanding the model's performance and significance of the selected features.
In summary, the SB.sPLS-DRCOX
function offers a robust approach for survival analysis with
high-dimensional data, combining feature selection, dimensionality reduction, and Cox regression
in a single-block framework. The method is particularly useful for datasets where the number of
variables exceeds the number of observations, and there's a need to identify the most relevant
features for predicting survival outcomes.
Value
Instance of class "Coxmos" and model "sb.splscox". The class contains the following
elements:
X
: List of normalized X data information.
-
(data)
: normalized X matrix -
(weightings)
: PLS weights -
(weightings_norm)
: PLS normalize weights -
(W.star)
: PLS W* vector -
(scores)
: PLS scores/variates -
(x.mean)
: mean values for X matrix -
(x.sd)
: standard deviation for X matrix
Y
: List of normalized Y data information.
-
(deviance_residuals)
: deviance residual vector used as Y matrix in the sPLS. -
(dr.mean)
: mean values for deviance residuals Y matrix -
(dr.sd)
: standard deviation for deviance residuals Y matrix' -
(data)
: normalized X matrix -
(y.mean)
: mean values for Y matrix -
(y.sd)
: standard deviation for Y matrix'
survival_model
: List of survival model information.
-
fit
: coxph object. -
AIC
: AIC of cox model. -
BIC
: BIC of cox model. -
lp
: linear predictors for train data. -
coef
: Coefficients for cox model. -
YChapeau
: Y Chapeau residuals. -
Yresidus
: Y residuals.
list_spls_models
: List of sPLS-DRCOX models computed for each block.
n.comp
: Number of components selected.
penalty
Penalty applied.
call
: call function
X_input
: X input matrix
Y_input
: Y input matrix
nzv
: Variables removed by remove_near_zero_variance or remove_zero_variance.
nz_coeffvar
: Variables removed by coefficient variation near zero.
class
: Model class.
time
: time consumed for running the cox analysis.
Author(s)
Pedro Salguero Garcia. Maintainer: pedsalga@upv.edu.es
Examples
data("X_multiomic")
data("Y_multiomic")
X <- X_multiomic
X$mirna <- X$mirna[,1:50]
X$proteomic <- X$proteomic[,1:50]
Y <- Y_multiomic
sb.splsdrcox(X, Y, n.comp = 2, penalty = 0.5, x.center = TRUE, x.scale = TRUE)