Confidence intervals for area under the receiver operating curve (AUC)
Updated 17 Aug 2015
Functions for estimating receiver operating curves (ROC) and the area under the ROC curve (AUC), and various methods for estimating parametric and non-parametric confidence intervals for the AUC estimates. Also included is code for a simple bootstrap test for the estimated area under the ROC against a known value. The available CI estimation methods are:
> Hanley-McNeil, parametric 
> Mann-Whitney, non-parametric 
> Maximum variance, non-parametric 
> Logit, non-parametric 
> Bootstrap, non-parametric 
You can pass arguments through for different bootstrapping options, otherwise the default is a simple percentile bootstrap. This software depends on several functions from the Matlab Statistics toolbox, namely norminv, tiedrank and bootci.
 Hanley, JA, McNeil, BJ (1982). The meaning and use of the area under a receiver operating characteristic (ROC) curve. Radiology, 143:29-36
 Qin, G, Hotilovac, L (2008). Comparison of non-parametric confidence intervals for the area under the ROC curve of a continuous-scale diagnostic test. Stat Meth Med Res, 17:207-21
 Cortex, C, Mohri, M (2004). Confidence intervals for the area under the ROC curve. NIPS Conference Proceedings
s = randn(50,1) + 1; n = randn(50,1); % simulate binormal model, "signal" and "noise"
% Estimate the AUC and calculate bootstrapped 95% confidence intervals (bias-corrected and accelerated)
[A,Aci] = auc(format_by_class(s,n),0.05,'boot',1000,'type','bca');
Visit https://github.com/brian-lau/MatlabAUC for more info.
Brian Lau (2021). Confidence intervals for area under the receiver operating curve (AUC) (https://github.com/brian-lau/MatlabAUC), GitHub. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!