AROC.kernel {AROC} | R Documentation |

## Non parametric kernel-based estimation of the covariate-adjusted ROC curve (AROC).

### Description

Estimates the covariate-adjusted ROC curve (AROC) using the nonparametric kernel-based method proposed by Rodriguez-Alvarez et al. (2011). The method, as it stands now, can only deal with one continuous covariate.

### Usage

```
AROC.kernel(marker, covariate, group, tag.healthy, data, p = seq(0, 1, l = 101), B = 1000)
```

### Arguments

`marker` |
A character string with the name of the diagnostic test variable. |

`covariate` |
A character string with the name of the continuous covariate. |

`group` |
A character string with the name of the variable that distinguishes healthy from diseased individuals. |

`tag.healthy` |
The value codifying the healthy individuals in the variable |

`data` |
Data frame representing the data and containing all needed variables. |

`p` |
Set of false positive fractions (FPF) at which to estimate the covariate-adjusted ROC curve. |

`B` |
An integer value specifying the number of bootstrap resamples for the construction of the confidence intervals. By default 1000. |

### Details

Estimates the covariate-adjusted ROC curve (AROC) defined as

`AROC\left(t\right) = Pr\{1 - F_{\bar{D}}(Y_D | X_{D}) \leq t\},`

where `F_{\bar{D}}(\cdot|X_{D})`

denotes the conditional distribution function for `Y_{\bar{D}}`

conditional on the vector of covariates `X_{\bar{D}}`

. In particular, the method implemented in this function estimates the outer probability empirically (see Janes and Pepe, 2008) and `F_{\bar{D}}(\cdot|X_{\bar{D}})`

is estimated assuming a nonparametric location-scale regression model for `Y_{\bar{D}}`

, i.e.,

`Y_{\bar{D}} = \mu_{\bar{D}}(X_{\bar{D}}) + \sigma_{\bar{D}}(X_{\bar{D}})\varepsilon_{\bar{D}},`

where `\mu_{\bar{D}}`

is the regression funcion, `\sigma_{\bar{D}}`

is the variance function, and `\varepsilon_{\bar{D}}`

has zero mean, variance one, and
distribution function `F_{\bar{D}}`

. As a consequence, and for a random sample `\{(x_{\bar{D}i},y_{\bar{D}i})\}_{i=1}^{n_{\bar{D}}}`

`F_{\bar{D}}(y_{\bar{D}i} | X_{\bar{D}}= x_{\bar{D}i}) = F_{\bar{D}}\left(\frac{y_{\bar{D}i}-\mu_{\bar{D}}(x_{\bar{D}i})}{\sigma_{\bar{D}}(x_{\bar{D}i})}\right).`

Both the regression and variance functions are estimated using the Nadaraya-Watson estimator, and the bandwidth are selected using least-squares cross-validation. Implementation relies on the `R`

-package `np`

. No assumption is made about the distribution of `\varepsilon_{\bar{D}}`

, which is empirically estimated on the basis of standardised residuals.

### Value

As a result, the function provides a list with the following components:

`call` |
The matched call. |

`p` |
Set of false positive fractions (FPF) at which the pooled ROC curve has been estimated |

`ROC` |
Estimated covariate-adjusted ROC curve (AROC), and 95% pointwise confidence intervals (if required) |

`AUC` |
Estimated area under the covariate-adjusted ROC curve (AAUC), and 95% pointwise confidence intervals (if required). |

`bw.mean` |
An object of class |

`bw.var` |
An object of class |

`fit.mean` |
An object of class |

`fit.var` |
An object of class |

### References

Hayfield, T., and Racine, J. S.(2008). Nonparametric Econometrics: The np Package. Journal of Statistical Software 27(5). URL http://www.jstatsoft.org/v27/i05/.

Inacio de Carvalho, V., and Rodriguez-Alvarez, M. X. (2018). Bayesian nonparametric inference for the covariate-adjusted ROC curve. arXiv preprint arXiv:1806.00473.

Rodriguez-Alvarez, M. X., Roca-Pardinas, J., and Cadarso-Suarez, C. (2011). ROC curve and covariates: extending induced methodology to the non-parametric framework. Statistics and Computing, 21(4), 483 - 499.

### See Also

`AROC.bnp`

, `AROC.bsp`

, `AROC.sp`

, `AROC.kernel`

, `pooledROC.BB`

or `pooledROC.emp`

.

### 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)
m2 <- AROC.kernel(marker = "l_marker1", covariate = "age",
group = "status", tag.healthy = 0, data = newpsa,
p = seq(0,1,l=101), B = 500)
summary(m2)
plot(m2)
```

*AROC*version 1.0-4 Index]