[Discussion] Does SMOTE or other class balancing techniques actually improve Area Under Precision-Recall?
Hi all,
I've been working on a prediction problem with a fairly strong class imbalance using tree ensembles. I have no problems with too much or too little data, but I do read everywhere that addressing class imbalance improves predictive power.
However, most of the papers (including the [paper](https://jair.org/index.php/jair/article/view/10302) for SMOTE) evaluate their performance in terms of benefits to the Area under the ROC curve (AuROC). This is not the best or most informative metric to use as the AuROC metric is sensitive to class imbalance. See [this paper](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4349800/) which explains why the Area under Precision-Recall (AuPR) metric is better in such situations. Essentially, AuROC is boosted when the classifier correctly predicts either a True Positive or a True Negative, which in cases of class imbalance can lead to drastic inflation of the score due to the True Negatives making up the majority of the dataset. The AuPR score only increases when the model correctly identifies a True Positive.
To address that, the SMOTE paper evaluates the AuROC on a separate balanced dataset each time it rebalances. However, the improvements to their AuROC score still derive from tradeoffs between precision and recall, making the benefits of the technique difficult to assess. (Moreover the AuROC benefits were marginal and susceptible to the multiple comparisons problem).
In my experience, using simple undersampling or oversampling techniques never changed my AuPR score, and only served to make me recalibrate my probability predictions. SMOTE, however, seems to be a fairly sophisticated technique and I have not seen it being questioned. Despite this, I can find no literature involving the AuPR metric.
Am I understanding something incorrectly? Do any of you have any experience with SMOTE and evaluating SMOTE, or other class balancing techniques? Did SMOTE or other class balancing techniques improve your predictive power?
Thank you so much!
Posted Jun 21, 2018, 3:01 PM UTC
A better AuROC means a better AuPR. To see this, compare points on two ROC curves a and b (with a being strictly better than b) at a fixed FPR.
At that fixed FPR, TPR_a > TPR_b, and you can show that Pr_a > Pr_b and Re_a > Re_b.
So a curve that is higher in ROC space will also be higher in PR space.
In practice, I personally find that balancing classes really does lead to "better" performance, not just a shift in the probability calibration. See this stack answer for example:
https://stats.stackexchange.com/questions/157714/r-package-for-weighted-random-forest-classwt-option
Thanks, I forgot that higher AuROC strictly implies higher AuPR. And thank you for the reference!
There is an important caveat here. An ROC curve which is higher at any point than another curve implies a higher PR curve. However, if two ROC curves overlap, then the relationship between ROC and PR curves is a tad less straightforward. It is totally possible to have a higher AUROC and a lower AUPRC due to this overlap issue.
Yes, you're right, thank you!