| asyVarVUS {bcROCsurface} | R Documentation |
asyVarVUS computes the asymptotic variance of full data (FULL) and bias-corrected estimators (i.e. full imputation, mean score imputation, inverse probability weighting, semiparametric efficient and K nearest neighbor) of VUS.
asyVarVUS(obj_vus, T, Dvec, V = NULL, rhoEst = NULL, piEst = NULL, BOOT = FALSE, nR = 250, parallel = FALSE, ncpus = ifelse(parallel, detectCores()/2, NULL))
obj_vus |
a result of a call to |
T |
a numeric vector containing the diagnostic test values. |
Dvec |
a n * 3 binary matrix with three columns, corresponding to the three classes of the disease status. In row i, 1 in column j indicates that the i-th subject belongs to class j, with j = 1, 2, 3. A row of |
V |
a binary vector containing the verification status (1 verified, 0 not verified). |
rhoEst |
a result of a call to |
piEst |
a result of a call to |
BOOT |
a logical value. Default = |
nR |
the number of bootstrap replicates, which is used for FULL or KNN estimators, or option |
parallel |
a logical value. If |
ncpus |
number of processes to be used in parallel computing. Default is half of available cores. |
For the FULL and K nearest neighbor estimators, a bootstrap resampling process is employed to obtain their asymptotic variance.
For the full imputation, mean score imputation, inverse probability weighting and semiparametric efficient estimators of VUS, the asymptotic variances are computed by using the explicit form. Furthermore, a bootstrap procedure is also available, useful in case of small sample sizes.
asyVarVUS returns a estimated value of the asymptotic variance.
To Duc, K., Chiogna, M. and Adimari, G. (2016) Bias-corrected methods for estimating the receiver operating characteristic surface of continuous diagnostic tests. Electronic Journal of Statistics, 10, 3063-3113.
data(EOC)
# Preparing the missing disease status
Dna <- preDATA(EOC$D, EOC$CA125)
Dfact.na <- Dna$D
Dvec.na <- Dna$Dvec
rho.out <- rhoMLogit(Dfact.na ~ CA125 + CA153 + Age, data = EOC, test = TRUE)
pi.out <- psglm(V ~ CA125 + CA153 + Age, data = EOC, test = TRUE)
vus.spe <- vus("spe", T = EOC$CA125, Dvec = Dvec.na, V = EOC$V, rhoEst = rho.out,
piEst = pi.out, ci = FALSE)
var.spe <- asyVarVUS(vus.spe, T = EOC$CA125, Dvec = Dvec.na, V = EOC$V,
rhoEst = rho.out, piEst = pi.out)
## Not run:
var.bst.spe <- asyVarVUS(vus.spe, T = EOC$CA125, Dvec = Dvec.na, V = EOC$V,
rhoEst = rho.out, piEst = pi.out, BOOT = TRUE,
parallel = TRUE)
## End(Not run)