R: Estimation methods for volume under ROC surface (VUS)

vus {bcROCsurface} | R Documentation

## Estimation methods for volume under ROC surface (VUS)

### Description

`vus` computes bias-corrected estimates of the volume under the ROC surface for evaluating the accuracy of a continuous diagnostic test.

### Usage

    vus(method = "full", T, Dvec, V, rhoEst = NULL, piEst = NULL, ci = TRUE,
      ci.level = ifelse(ci, 0.95, NULL), BOOT = FALSE, nR = ifelse(ci, 250,
      NULL), parallel = FALSE, ncpus = ifelse(parallel, detectCores()/2, NULL))

### Arguments

`method` | name of bias-corrected estimation method to be used for estimating the VUS in presence of verification bias. See `ROCs` for more details.
`T` | a numeric vector containing the diagnostic test values. `NA` values are not admitted.
`Dvec` | a n * 3 binary matrix with the three columns, corresponding to 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 `NA` values indicates a non-verified subject.
`V` | a binary vector containing the verification status (1 verified, 0 not verified).
`rhoEst` | a result of a call to `rhoMLogit` of `rhoKNN` to fit the disease model.
`piEst` | a result of a call to `psglm` to fit the verification model.
`ci` | a logical value. If TRUE (default), computes an confidence interval of VUS and tests the null hypothesis H0: VUS = 1/6.
`ci.level` | an confidence level to be used for constructing the confidence interval; default 0.95.
`BOOT` | a logical value. Default = `FALSE`. If set to `TRUE`, a bootstrap resampling is employed to estimate the asymptotic variance of bias-corrected VUS estimates. See `asyVarVUS`.
`nR` | the number of bootstrap replicates, which is used for FULL or KNN estimator, or option `BOOT = TRUE`. Usually this will be a single positive integer.
`parallel` | a logical value. If `TRUE`, a parallel computing is employed to the bootstrap resampling process.
`ncpus` | number of processes to be used in parallel computing. Default is a half of available cores.

### Details

The function implements five bias-corrected estimation methods in To Duc et al. (2016) for estimating VUS of a three-class continuous diagnostic test in presence of verification bias. The estimators are full imputation (FI), mean score imputation (MSI), inverse probability weighted (IPW), semiparametric efficient (SPE) and K nearest-neighbor (KNN), see `ROCs`. These esitmators work under MAR assumption.

The asymptotic variance is computed by using asymptotic theory (with respect to FI, MSI, IPW and SPE estimator) or bootstrap resampling method (with respect to FULL and KNN estimator) via the function `asyVarVUS`. A confidence interval of VUS also is given. A logit transformation is also applied for obtaining the confidence interval.

The default value of the number of bootstrap replicates is 250.

Note that, before apply the functions `vus`, the use of `preDATA` might be needed to check the monotone ordering disease classes and to create the matrix format for disease status.

### Value

`vus` returns an object of class inheriting from "vus" class.

The function `print.vus` can be used to print a summary of the results.

An object of class "vus" is a list containing at least the following components:

`vus.fit` | the estimate of VUS.
`std` | the standard error, obtained by using asymptotic theory or bootstrap resampling method.
`call` | the matched call.
`t.stat` | t-statistic.
`p.val_norm` | p-value correspond to normal-test.
`ci.norm` | the confidence interval of VUS by using normal approximation.
`ci.logit` | the confidence interval of VUS via logit transform.
`ci.level` | the confidence level used.
`BOOT` | the value of `BOOT`.
`nR` | the number of bootstrap replicates used.

In addition, the name of method used to estimate VUS also is given as the attribute of `vus.fit`.

### References

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.

### Examples

    data(EOC)
    head(EOC)

    ## Not run:
    # FULL data estimator
    Dfull <- preDATA(EOC$D.full, EOC$CA125)
    Dvec.full <- Dfull$Dvec
    vus("full", T = EOC$CA125, Dvec = Dvec.full)

    ## End(Not run)

    # Preparing the missing disease status
    Dna <- preDATA(EOC$D, EOC$CA125)
    Dfact.na <- Dna$D
    Dvec.na <- Dna$Dvec
    # FI estimator
    rho.out <- rhoMLogit(Dfact.na ~ CA125 + CA153 + Age, data = EOC, test = TRUE)

    vus("fi", T = EOC$CA125, Dvec = Dvec.na, V = EOC$V, rhoEst = rho.out)

    ## Not run:
    # MSI estimator
    vus("msi", T = EOC$CA125, Dvec = Dvec.na, V = EOC$V, rhoEst = rho.out)

    # IPW estimator
    pi.out <- psglm(V ~ CA125 + CA153 + Age, data = EOC, test = TRUE)
    vus("ipw", T = EOC$CA125, Dvec = Dvec.na, V = EOC$V, piEst = pi.out)

    # SPE estimator
    vus("spe", T = EOC$CA125, Dvec = Dvec.na, V = EOC$V, rhoEst = rho.out, piEst = pi.out)

    # KNN estimator, K = 1, Mahalanobis distance
    XX <- cbind(EOC$CA125, EOC$CA153, EOC$Age)
    rho.maha.1nn <- rhoKNN(X = XX, Dvec = Dvec.na, V = EOC$V, K = 1, type = "mahala")
    vus("knn", T = EOC$CA125, Dvec = Dvec.na, V = EOC$V, rhoEst = rho.maha.1nn)

    ## End(Not run)

[Package bcROCsurface version 1.0-2 Index]