coxDKplsDR {plsRcox} | R Documentation |
Fitting a Direct Kernel PLS model on the (Deviance) Residuals
Description
This function computes the Cox Model based on PLSR components computed model with
as the response: the Residuals of a Cox-Model fitted with no covariate
as explanatory variables: a Kernel transform of Xplan.
It uses the package kernlab
to compute the Kernel
transforms of Xplan, then the package mixOmics
to perform PLSR fit.
Usage
coxDKplsDR(Xplan, ...)
## Default S3 method:
coxDKplsDR(
Xplan,
time,
time2,
event,
type,
origin,
typeres = "deviance",
collapse,
weighted,
scaleX = TRUE,
scaleY = TRUE,
ncomp = min(7, ncol(Xplan)),
modepls = "regression",
plot = FALSE,
allres = FALSE,
kernel = "rbfdot",
hyperkernel,
verbose = TRUE,
...
)
## S3 method for class 'formula'
coxDKplsDR(
Xplan,
time,
time2,
event,
type,
origin,
typeres = "deviance",
collapse,
weighted,
scaleX = TRUE,
scaleY = TRUE,
ncomp = min(7, ncol(Xplan)),
modepls = "regression",
plot = FALSE,
allres = FALSE,
dataXplan = NULL,
subset,
weights,
model_frame = FALSE,
kernel = "rbfdot",
hyperkernel,
verbose = TRUE,
model_matrix = FALSE,
contrasts.arg = NULL,
...
)
Arguments
Xplan |
a formula or a matrix with the eXplanatory variables (training) dataset |
... |
Arguments to be passed on to |
time |
for right censored data, this is the follow up time. For interval data, the first argument is the starting time for the interval. |
time2 |
The status indicator, normally 0=alive, 1=dead. Other choices
are |
event |
ending time of the interval for interval censored or counting
process data only. Intervals are assumed to be open on the left and closed
on the right, |
type |
character string specifying the type of censoring. Possible
values are |
origin |
for counting process data, the hazard function origin. This option was intended to be used in conjunction with a model containing time dependent strata in order to align the subjects properly when they cross over from one strata to another, but it has rarely proven useful. |
typeres |
character string indicating the type of residual desired.
Possible values are |
collapse |
vector indicating which rows to collapse (sum) over. In
time-dependent models more than one row data can pertain to a single
individual. If there were 4 individuals represented by 3, 1, 2 and 4 rows of
data respectively, then |
weighted |
if |
scaleX |
Should the |
scaleY |
Should the |
ncomp |
The number of components to include in the model. The number of components to fit is specified with the argument ncomp. It this is not supplied, the maximal number of components is used. |
modepls |
character string. What type of algorithm to use, (partially)
matching one of "regression", "canonical", "invariant" or "classic". See
|
plot |
Should the survival function be plotted ?) |
allres |
FALSE to return only the Cox model and TRUE for additionnal results. See details. Defaults to FALSE. |
kernel |
the kernel function used in training and predicting. This
parameter can be set to any function, of class kernel, which computes the
inner product in feature space between two vector arguments (see
kernels). The
|
hyperkernel |
the list of hyper-parameters (kernel parameters). This is a list which contains the parameters to be used with the kernel function. For valid parameters for existing kernels are :
In the case of a Radial Basis kernel function (Gaussian) or
Laplacian kernel, if |
verbose |
Should some details be displayed ? |
dataXplan |
an optional data frame, list or environment (or object
coercible by |
subset |
an optional vector specifying a subset of observations to be used in the fitting process. |
weights |
an optional vector of 'prior weights' to be used in the
fitting process. Should be |
model_frame |
If |
model_matrix |
If |
contrasts.arg |
a list, whose entries are values (numeric matrices, functions or character strings naming functions) to be used as replacement values for the contrasts replacement function and whose names are the names of columns of data containing factors. |
Details
If allres=FALSE
returns only the final Cox-model. If
allres=TRUE
returns a list with the PLS components, the final
Cox-model and the PLSR model. allres=TRUE
is useful for evluating
model prediction accuracy on a test sample.
Value
If allres=FALSE
:
cox_DKplsDR |
Final Cox-model. |
If
allres=TRUE
:
tt_DKplsDR |
PLSR components. |
cox_DKplsDR |
Final Cox-model. |
DKplsDR_mod |
The PLSR model. |
Author(s)
Frédéric Bertrand
frederic.bertrand@utt.fr
http://www-irma.u-strasbg.fr/~fbertran/
References
plsRcox, Cox-Models in a high dimensional setting in R, Frederic
Bertrand, Philippe Bastien, Nicolas Meyer and Myriam Maumy-Bertrand (2014).
Proceedings of User2014!, Los Angeles, page 152.
Deviance residuals-based sparse PLS and sparse kernel PLS regression for censored data, Philippe Bastien, Frederic Bertrand, Nicolas Meyer and Myriam Maumy-Bertrand (2015), Bioinformatics, 31(3):397-404, doi:10.1093/bioinformatics/btu660.
See Also
Examples
data(micro.censure)
data(Xmicro.censure_compl_imp)
X_train_micro <- apply((as.matrix(Xmicro.censure_compl_imp)),FUN="as.numeric",MARGIN=2)[1:80,]
X_train_micro_df <- data.frame(X_train_micro)
Y_train_micro <- micro.censure$survyear[1:80]
C_train_micro <- micro.censure$DC[1:80]
(cox_DKplsDR_fit=coxDKplsDR(X_train_micro,Y_train_micro,C_train_micro,ncomp=6))
#Fixing sigma to compare with plsDR on Gram matrix; should be identical
(cox_DKplsDR_fit=coxDKplsDR(X_train_micro,Y_train_micro,C_train_micro,ncomp=6,
hyperkernel=list(sigma=0.01292786)))
X_train_micro_kern <- kernlab::kernelMatrix(kernlab::rbfdot(sigma=0.01292786),
scale(X_train_micro))
(cox_DKplsDR_fit2=coxplsDR(~X_train_micro_kern,Y_train_micro,C_train_micro,ncomp=6,scaleX=FALSE))
(cox_DKplsDR_fit=coxDKplsDR(X_train_micro,Y_train_micro,C_train_micro,ncomp=6,
kernel="laplacedot",hyperkernel=list(sigma=0.01292786)))
X_train_micro_kern <- kernlab::kernelMatrix(kernlab::laplacedot(sigma=0.01292786),
scale(X_train_micro))
(cox_DKplsDR_fit2=coxplsDR(~X_train_micro_kern,Y_train_micro,C_train_micro,ncomp=6,scaleX=FALSE))
(cox_DKplsDR_fit=coxDKplsDR(~X_train_micro,Y_train_micro,C_train_micro,ncomp=6))
(cox_DKplsDR_fit=coxDKplsDR(~.,Y_train_micro,C_train_micro,ncomp=6,dataXplan=X_train_micro_df))
(cox_DKplsDR_fit=coxDKplsDR(X_train_micro,Y_train_micro,C_train_micro,ncomp=6,allres=TRUE))
(cox_DKplsDR_fit=coxDKplsDR(~X_train_micro,Y_train_micro,C_train_micro,ncomp=6,allres=TRUE))
(cox_DKplsDR_fit=coxDKplsDR(~.,Y_train_micro,C_train_micro,ncomp=6,allres=TRUE,
dataXplan=X_train_micro_df))
rm(X_train_micro,Y_train_micro,C_train_micro,cox_DKplsDR_fit)