This function implements an extension of Partial least squares Regression to Cox Models.
DKplsRcox(Xplan, ...)DKplsRcoxmodel(Xplan, ...)
# S3 method for default
DKplsRcoxmodel(
Xplan,
time,
time2,
event,
type,
origin,
typeres = "deviance",
collapse,
weighted,
scaleX = TRUE,
scaleY = TRUE,
nt = min(2, ncol(Xplan)),
limQ2set = 0.0975,
dataPredictY = Xplan,
pvals.expli = FALSE,
alpha.pvals.expli = 0.05,
tol_Xi = 10^(-12),
weights,
control,
sparse = FALSE,
sparseStop = TRUE,
plot = FALSE,
allres = FALSE,
kernel = "rbfdot",
hyperkernel,
verbose = TRUE,
...
)
# S3 method for formula
DKplsRcoxmodel(
Xplan,
time,
time2,
event,
type,
origin,
typeres = "deviance",
collapse,
weighted,
scaleX = TRUE,
scaleY = NULL,
dataXplan = NULL,
nt = min(2, ncol(Xplan)),
limQ2set = 0.0975,
dataPredictY = Xplan,
pvals.expli = FALSE,
model_frame = FALSE,
alpha.pvals.expli = 0.05,
tol_Xi = 10^(-12),
weights,
subset,
control,
sparse = FALSE,
sparseStop = TRUE,
plot = FALSE,
allres = FALSE,
kernel = "rbfdot",
hyperkernel,
verbose = TRUE,
model_matrix = FALSE,
contrasts.arg = NULL,
...
)
Depends on the model that was used to fit the model.
a formula or a matrix with the eXplanatory variables (training) dataset
arguments to pass to plsRmodel.default
or to
plsRmodel.formula
for right censored data, this is the follow up time. For interval data, the first argument is the starting time for the interval.
The status indicator, normally 0=alive, 1=dead. Other choices
are TRUE/FALSE
(TRUE
= death) or 1/2 (2=death). For interval
censored data, the status indicator is 0=right censored, 1=event at
time
, 2=left censored, 3=interval censored. Although unusual, the
event indicator can be omitted, in which case all subjects are assumed to
have an 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, (start, end]
. For counting process data, event
indicates whether an event occurred at the end of the interval.
character string specifying the type of censoring. Possible
values are "right"
, "left"
, "counting"
,
"interval"
, or "interval2"
. The default is "right"
or
"counting"
depending on whether the time2
argument is absent
or present, respectively.
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.
character string indicating the type of residual desired.
Possible values are "martingale"
, "deviance"
, "score"
,
"schoenfeld"
, "dfbeta"
, "dfbetas"
, and
"scaledsch"
. Only enough of the string to determine a unique match is
required.
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 collapse=c(1,1,1,2,3,3,4,4,4,4)
could be used
to obtain per subject rather than per observation residuals.
if TRUE
and the model was fit with case weights, then
the weighted residuals are returned.
Should the Xplan
columns be standardized ?
Should the time
values be standardized ?
number of components to be extracted
limit value for the Q2
predictor(s) (testing) dataset
should individual p-values be reported to tune model selection ?
level of significance for predictors when pvals.expli=TRUE
minimal value for Norm2(Xi) and \(\mathrm{det}(pp' \times
pp)\) if there is any missing value in the dataX
. It
defaults to \(10^{-12}\)
an optional vector of 'prior weights' to be used in the
fitting process. Should be NULL
or a numeric vector.
a list of parameters for controlling the fitting process. For
glm.fit
this is passed to glm.control
.
should the coefficients of non-significant predictors
(<alpha.pvals.expli
) be set to 0
should component extraction stop when no significant
predictors (<alpha.pvals.expli
) are found
Should the survival function be plotted ?)
FALSE to return only the Cox model and TRUE for additionnal results. See details. Defaults to FALSE.
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 kernlab
package provides the most
popular kernel functions which can be used by setting the kernel parameter
to the following strings:
Radial Basis kernel "Gaussian"
Polynomial kernel
Linear kernel
Hyperbolic tangent kernel
Laplacian kernel
Bessel kernel
ANOVA RBF kernel
Spline kernel
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 :
sigma
, inverse kernel width for the Radial Basis kernel function
"rbfdot" and the Laplacian kernel "laplacedot".
degree
,
scale
, offset
for the Polynomial kernel "polydot".
scale
, offset for the Hyperbolic tangent kernel function "tanhdot".
sigma
, order
, degree
for the Bessel kernel
"besseldot".
sigma
, degree
for the ANOVA kernel
"anovadot".
In the case of a Radial Basis kernel function (Gaussian) or
Laplacian kernel, if hyperkernel
is missing, the heuristics in sigest
are used to calculate a good sigma value from the data.
Should some details be displayed ?
an optional data frame, list or environment (or object
coercible by as.data.frame
to a data frame) containing the
variables in the model. If not found in dataXplan
, the variables are
taken from environment(Xplan)
, typically the environment from which
coxDKplsDR
is called.
If TRUE
, the model frame is returned.
an optional vector specifying a subset of observations to be used in the fitting process.
If TRUE
, the model matrix is returned.
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.
the method to be used in fitting the model. The default method
"glm.fit"
uses iteratively reweighted least squares (IWLS).
User-supplied fitting functions can be supplied either as a function or a
character string naming a function, with a function which takes the same
arguments as glm.fit
.
Frédéric Bertrand
frederic.bertrand@utt.fr
http://www-irma.u-strasbg.fr/~fbertran/
A typical predictor has the form response ~ terms where response is the (numeric) response vector and terms is a series of terms which specifies a linear predictor for response. A terms specification of the form first + second indicates all the terms in first together with all the terms in second with any duplicates removed.
A specification of the form first:second indicates the the set of terms obtained by taking the interactions of all terms in first with all terms in second. The specification first*second indicates the cross of first and second. This is the same as first + second + first:second.
The terms in the formula will be re-ordered so that main effects come first, followed by the interactions, all second-order, all third-order and so on: to avoid this pass a terms object as the formula.
Non-NULL weights can be used to indicate that different observations have different dispersions (with the values in weights being inversely proportional to the dispersions); or equivalently, when the elements of weights are positive integers w_i, that each response y_i is the mean of w_i unit-weight observations.
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.
plsR
and plsRglm
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]
# \donttest{
DKplsRcox(X_train_micro,time=Y_train_micro,event=C_train_micro,nt=5)
DKplsRcox(~X_train_micro,time=Y_train_micro,event=C_train_micro,nt=5)
# }
# \donttest{
DKplsRcox(Xplan=X_train_micro,time=Y_train_micro,event=C_train_micro,nt=5,sparse=TRUE,
alpha.pvals.expli=.15)
DKplsRcox(Xplan=~X_train_micro,time=Y_train_micro,event=C_train_micro,nt=5,sparse=TRUE,
alpha.pvals.expli=.15)
# }
Run the code above in your browser using DataLab