coxphMIC(formula = Surv(time, status) ~ ., data, method.beta0 = "MPLE",
beta0 = NULL, theta0 = 1, method = "BIC", lambda0 = 2, a0 = NULL,
scale.x = TRUE, maxit.global = 300, maxit.local = 100,
rounding.digits = 4, zero = sqrt(.Machine$double.eps),
compute.se.gamma = TRUE, compute.se.beta = TRUE, CI.gamma = TRUE,
conf.level = 0.95, details = FALSE)~ operator, and the terms on the right.
The response must be a survival object as returned by the Surv function.formula argument."MPLE" and "ridge".
By default, the maximum partial likelihood estimator (MPLE) is used with "MPLE". The option "ridge"
asks for a ridge estimator with penalty parameter specified by theta0. You may supply a set of values for beta0 of
your choice. If NULL, then beta0 is set as 0.method.beta0="ridge"."AIC", the complexity penalty parameter (lambda)
equals 2; if "BIC", lambda equals ln(n0), where n0 denotes the number of uncensored events. You may specify
the penalty parameter of your choice by setting lambda0.method="AIC" or "BIC", the value
of lambda0 will be ignored.a0 is set as
n0, where n0 is again the number of uncensored events.TRUE.SANN. Default value is 300.BFGS. Default value is 100.sqrt(.Machine$double.eps).TRUE.TRUE. Note that this result is subject to post-selection inference.gamma is outputed. Default is TRUE.CI.gamma. Defaulted as 0.95.TRUE, detailed results will be printed out when running coxphMIC.SANN as default).BFGS as default).beta
to gamma. There are two benefits of doing so: first, it reduces the optimization to
one unconstrained nonconvex yet smooth programming problem, which can be solved efficiently
as in computing the maximum partial likelihood estimator (MPLE); furthermore, the
reparameterization tactic yields an additional advantage in terms of circumventing post-selection inference.
Significance testing on beta can be done through gamma. The solve the smooth yet nonconvex optimization, a simulated annealing (method="SANN" option
in optim) global optimization algorithm is first applied. The resultant estimator is then used
as the starting point for another local optimization algorithm. The quasi-Newton BFGS method (method="BFGS"
in optim) is used. In its current version, some appropriate data preparation might be needed. For example, nomincal
variables (especially character-valued ones) needed to be coded with dummy variables; missing values would cause
errors too and hence need prehanlding too.coxph # PREPARE THE PBC DATA
library(survival); data(pbc);
dat <- pbc; dim(dat);
dat$status <- ifelse(pbc$status==2, 1, 0)
# HANDLE CATEGORICAL VARIABLES
dat$sex <- ifelse(pbc$sex=="f", 1, 0)
# LISTWISE DELETION USED TO HANDLE MISSING VALUES
dat <- stats::na.omit(dat);
dim(dat); utils::head(dat)
fit.mic <- coxphMIC(formula=Surv(time, status)~.-id, data=dat, method="BIC", scale.x=TRUE)
names(fit.mic)
print(fit.mic)
plot(fit.mic)
Run the code above in your browser using DataLab