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.

Y: List of normalized Y data information.

survival_model: List of survival model information.

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)

[Package Coxmos version 1.0.2 Index]