Area Under Receiver Operating Curve
Compute exact area under the ROC for empirical data.
auROC(truth, stat=NULL)
truth |
logical vector, or numeric vector of 0s and 1s, indicating whether each case is a true positive. |
stat |
numeric vector containing test statistics used to rank cases, from largest to smallest.
If |
A receiver operating curve (ROC) is a plot of sensitivity (true positive rate) versus 1-specificity (false positive rate) for a statistical test or binary classifier. The area under the ROC is a well accepted measure of test performance. It is equivalent to the probability that a randomly chosen pair of cases is corrected ranked.
Here we consider a test statistic stat
, with larger values being more significant, and a vector truth
indicating whether the alternative hypothesis is in fact true.
truth==TRUE
or truth==1
indicates a true discovery and truth=FALSE
or truth=0
indicates a false discovery.
Correct ranking here means that truth[i]
is greater than or equal to truth[j]
when stat[i]
is greater than stat[j]
.
The function computes the exact area under the empirical ROC curve defined by truth
when ordered by stat
.
If stat
contains ties, then auROC
returns the average area under the ROC for all possible orderings of truth
for tied stat
values.
The area under the curve is undefined if truth
is all TRUE
or all FALSE
or if truth
or stat
contain missing values.
Numeric value between 0 and 1 giving area under the curve, 1 being perfect and 0 being the minimum.
Gordon Smyth
auROC(c(1,1,0,0,0)) truth <- rbinom(30,size=1,prob=0.2) stat <- rchisq(30,df=2) auROC(truth,stat)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.