CVAUROC: Stata module to compute Cross-validated Area Under the Curve for ROC Analysis after Predictive Modelling for Binary Outcomes


Receiver operating characteristic (ROC) analysis is used for comparing predictive models, both in model selection and model evaluation. This method is often applied in clinical medicine and social science to assess the tradeoff between model sensitivity and specificity. After fitting a binary logistic regression model with a set of independent variables, the predictive performance of this set of variables - as assessed by the area under the curve (AUC) from a ROC curve - must be estimated for a sample (the 'test' sample) that is independent of the sample used to predict the dependent variable (the 'training' sample). An important aspect of predictive modeling (regardless of model type) is the ability of a model to generalize to new cases. Evaluating the predictive performance (AUC) of a set of independent variables using all cases from the original analysis sample tends to result in an overly optimistic estimate of predictive performance. K-fold cross-validation can be used to generate a more realistic estimate of predictive performance. To assess this ability in situations in which the number of observations is not very large, cross-validation and bootstrap strategies are useful. cvauroc implements k-fold cross-validation for the AUC for a binary outcome after fitting a logistic regression model, averaging the AUCs corresponding to each fold and bootstrapping the cross-validated AUC to obtain statistical inference.