compute.threshold.AROC.bsp {AROC} | R Documentation |
AROC-based threshold values.
Description
Estimates AROC-based threshold values using the semiparametric Bayesian normal linear regression model discussed in Inacio de Carvalho and Rodriguez-Alvarez (2018).
Usage
compute.threshold.AROC.bsp(object, newdata, FPF = 0.5)
Arguments
object |
An object of class |
newdata |
Data frame with the covariate values at which threshold values are required. |
FPF |
Numeric vector with the FPF at which to calculate the AROC-based threshold values. Atomic values are also valid. |
Details
Estimation of the covariate-adjusted ROC curve (AROC) using the semiparametric Bayesian normal linear regression model discussed in Inacio de Carvalho and Rodriguez-Alvarez (2018) involves the estimation of the conditional distribution function for the diagnostic test outcome in the healthy population
F_{\bar{D}}(y|\mathbf{X}_{\bar{D}}) = Pr\{Y_{\bar{D}} \leq y | \mathbf{X}_{\bar{D}}\}.
This function makes use of this estimate in order to calculate AROC-based threshold values. In particular, for a covariate value \mathbf{x}
and a FPF = t, the AROC-based threshold value at the s
-th posterior sample (s = 1,\ldots,S
) is calculated as follows
c^{(s)}_{\mathbf{x}} = \hat{F}^{-1(s)}_{\bar{D}}(1-t|\mathbf{X}_{\bar{D}} = \mathbf{x}).
from which the posterior mean can be computed
\hat{c}_{\mathbf{x}} = \frac{1}{S}\sum_{s = 1}^{S}c^{(s)}_{\mathbf{x}}.
Value
As a result, the function provides a list with the following components:
thresholds.est |
A matrix with the posterior mean of the AROC-based threshold values. The matrix has as many columns as different covariate vector values, and as many rows as different FPFs. |
thresholds.ql |
A matrix with the posterior 2.5% quantile of the AROC-based threshold values. The matrix has as many columns as different covariate vector values, and as many rows as different FPFs. |
thresholds.qh |
A matrix with the posterior 97.5% quantile of the AROC-based threshold values. The matrix has as many columns as different covariate vector values, and as many rows as different FPFs. |
References
Inacio de Carvalho, V., and Rodriguez-Alvarez, M. X. (2018). Bayesian nonparametric inference for the covariate-adjusted ROC curve. arXiv preprint arXiv:1806.00473.
See Also
Examples
library(AROC)
data(psa)
# Select the last measurement
newpsa <- psa[!duplicated(psa$id, fromLast = TRUE),]
# Log-transform the biomarker
newpsa$l_marker1 <- log(newpsa$marker1)
m1 <- AROC.bsp(formula.healthy = l_marker1 ~ age,
group = "status", tag.healthy = 0, data = newpsa, scale = TRUE,
p = seq(0,1,l=101), compute.lpml = TRUE, compute.WAIC = TRUE,
a = 2, b = 0.5, nsim = 5000, nburn = 1500)
# Compute the threshold values
FPF = c(0.1, 0.3)
newdata <- data.frame(age = seq(52, 80, l = 50))
th_bsp <- compute.threshold.AROC.bsp(m1, newdata, FPF)
names(th_bsp)