orthoDr_surv {orthoDr} | R Documentation |
Counting Process based semiparametric dimension reduction (IR-CP) model
Description
Models the data according to the counting process based semiparametric dimension reduction (IR-CP) model for right censored survival outcome.
Usage
orthoDr_surv(
x,
y,
censor,
method = "dm",
ndr = ifelse(method == "forward", 1, 2),
B.initial = NULL,
bw = NULL,
keep.data = FALSE,
control = list(),
maxitr = 500,
verbose = FALSE,
ncore = 0
)
Arguments
x |
A |
y |
A |
censor |
A |
method |
Estimation equation to use. Either:
|
ndr |
The number of directions |
B.initial |
Initial |
bw |
A Kernel bandwidth, assuming each variables have unit variance. |
keep.data |
Should the original data be kept for prediction.
Default is |
control |
A list of tuning variables for optimization. |
maxitr |
Maximum number of iterations |
verbose |
Should information be displayed |
ncore |
Number of cores for parallel computing. The default is the maximum number of threads. |
Value
A orthoDr
object consisting of list
with named elements:
B |
The optimal |
fn |
The final functional value |
itr |
The number of iterations |
converge |
convergence code |
References
Sun, Q., Zhu, R., Wang, T., & Zeng, D. (2019). Counting process-based dimension reduction methods for censored outcomes. Biometrika, 106(1), 181-196. DOI: doi:10.1093/biomet/asy064
Examples
# This is setting 1 in Sun et. al. (2017) with reduced sample size
library(MASS)
set.seed(1)
N <- 200
P <- 6
V <- 0.5^abs(outer(1:P, 1:P, "-"))
dataX <- as.matrix(mvrnorm(N, mu = rep(0, P), Sigma = V))
failEDR <- as.matrix(c(1, 0.5, 0, 0, 0, rep(0, P - 5)))
censorEDR <- as.matrix(c(0, 0, 0, 1, 1, rep(0, P - 5)))
T <- rexp(N, exp(dataX %*% failEDR))
C <- rexp(N, exp(dataX %*% censorEDR - 1))
ndr <- 1
Y <- pmin(T, C)
Censor <- (T < C)
# fit the model
forward.fit <- orthoDr_surv(dataX, Y, Censor, method = "forward")
distance(failEDR, forward.fit$B, "dist")
dn.fit <- orthoDr_surv(dataX, Y, Censor, method = "dn", ndr = ndr)
distance(failEDR, dn.fit$B, "dist")
dm.fit <- orthoDr_surv(dataX, Y, Censor, method = "dm", ndr = ndr)
distance(failEDR, dm.fit$B, "dist")