multiROC {movieROC} | R Documentation |
Build a ROC curve for a multivariate marker with dimension p
Description
This is one of the main functions of the movieROC package.
It builds a multivariate ROC curve by considering one of these methods:
i) fitting a binary logistic regression model with a particular combination
(fixed by the user) of the two components on the right-hand side,
ii) linear combinations with fixed parameters, or
iii) linear combinations with dynamic parameters, or
iv) estimating optimal transformation based on kernel density estimation, or
v) quadratic combinations with fixed parameters (if p=2
).
It returns a ‘multiroc’ object, a list of class ‘multiroc’.
This object can be print
ed or plot
ted. It may be also
passed to plot_buildROC()
and movieROC()
function.
Usage
multiROC(X, D, ...)
## Default S3 method:
multiROC(X, D,
method = c("lrm", "fixedLinear", "fixedQuadratic", "dynamicEmpirical",
"dynamicMeisner", "kernelOptimal"),
formula.lrm = "D ~ X.1 + I(X.1^2) + X.2 + I(X.2^2) + I(X.1*X.2)",
stepModel = TRUE,
methodLinear = c("coefLinear", "SuLiu", "PepeThompson", "logistic", "minmax"),
coefLinear = rep(1,ncol(X)), coefQuadratic = c(1,1,0,1,1),
K = 201, alpha = 0.5, approxh = 0.5, multiplier = 2,
kernelOptimal.H = c("Hbcv", "Hscv", "Hpi", "Hns", "Hlscv", "Hbcv.diag",
"Hscv.diag", "Hpi.diag", "Hlscv.diag"),
eps = sqrt(.Machine$double.eps), verbose = FALSE, ...)
Arguments
X |
Matrix (dimension |
D |
Vector of response values. Two levels; if more, the two first ones are used. |
method |
Method used to build the classification regions. One of |
formula.lrm |
If |
stepModel |
If TRUE and |
methodLinear |
If |
coefLinear |
If |
coefQuadratic |
If |
alpha , approxh , multiplier |
If |
K |
If |
kernelOptimal.H |
If |
eps |
Epsilon value to consider. Default: |
verbose |
If TRUE, a progress bar is displayed for computationally intensive methods. Default: FALSE. |
... |
Other parameters to be passed. Not used. |
Value
A list of class ‘multiroc’ with the following fields:
controls , cases |
Marker values of negative and positive subjects, respectively. |
levels |
Levels of response values. |
t |
Vector of false-positive rates. |
roc |
Vector of values of the ROC curve for |
auc |
Area under the curve estimate. |
Z |
If |
c |
If |
CoefTable |
If |
Dependencies
If method = "lrm"
, the glm()
function in the stats package is used.
If method = "kernelOptimal"
, the kde()
function in the ks package is used.
References
J. Q. Su and J. S. Liu. (1993) “Linear combinations of multiple diagnostic markers”. Journal of the American Statistical Association, 88(424): 1350–1355. DOI: doi:10.1080/01621459.1993.10476417.
M. S. Pepe and M. L. Thompson (2000) “Combining diagnostic test results to increase accuracy”. Biostatistics, 1 (2):123–140. DOI: doi:10.1093/biostatistics/1.2.123.
C. Liu, A. Liu, and S. Halabi (2011) “A min–max combination of biomarkers to improve diagnostic accuracy”. Statistics in Medicine, 30(16): 2005–2014. DOI: doi:10.1002/sim.4238.
P. Martínez-Camblor, S. Pérez-Fernández, and S. Díaz-Coto (2021) “Optimal classification scores based on multivariate marker transformations”. AStA Advances in Statistical Analysis, 105(4): 581–599. DOI: doi:10.1007/s10182-020-00388-z.
A. Meisner, M. Carone, M. S. Pepe, and K. F. Kerr (2021) “Combining biomarkers by maximizing the true positive rate for a fixed false positive rate”. Biometrical Journal, 63(6): 1223–1240. DOI: doi:10.1002/bimj.202000210.
Examples
data(HCC)
# ROC curve for genes 20202438 and 18384097 (p=2) to identify tumor by 4 different methods:
X <- cbind(HCC$cg20202438, HCC$cg18384097); D <- HCC$tumor
## 1. Linear combinations with fixed parameters by Pepe and Thompson (2000)
multiROC(X, D, method = "fixedLinear", methodLinear = "PepeThompson")
## 2.Linear combinations with dynamic parameters by Meisner et al. (2021)
### Time consuming
multiROC(X, D, method = "dynamicMeisner")
## 3. Logistic regression model with quadratic formula by default
multiROC(X, D)
## 4. Optimal transformation with multivariate KDE by Martínez-Camblor et al. (2021)
multiROC(X, D, method = "kernelOptimal")
# ROC curve for genes 20202438, 18384097, and 03515901 (p=3) to identify tumor
# by 4 different methods:
X <- cbind(HCC$cg20202438, HCC$cg18384097, HCC$cg03515901); D <- HCC$tumor
## 1. Linear combinations with fixed parameters by Pepe and Thompson (2000)
multiROC(X, D, method = "fixedLinear", methodLinear = "PepeThompson")
## 2.Linear combinations with dynamic parameters by Meisner et al. (2021)
### Time consuming
multiROC(X, D, method = "dynamicMeisner")
## 3. Logistic regression model with quadratic formula by default
multiROC(X, D)
## 4. Optimal transformation with multivariate KDE by Martínez-Camblor et al. (2021)
multiROC(X, D, method = "kernelOptimal")