plot_rroc: Regression Receiver Operating Characteristic (RROC)

View source: R/plot_rroc.R

plot_rrocR Documentation

Regression Receiver Operating Characteristic (RROC)


The basic idea of the ROC curves for regression is to show model asymmetry. The RROC is a plot where on the x-axis we depict total over-estimation and on the y-axis total under-estimation.


plot_rroc(object, ...)

plotRROC(object, ...)



An object of class auditor_model_residual created with model_residual function.


Other auditor_model_residual objects to be plotted together.


For RROC curves we use a shift, which is an equivalent to the threshold for ROC curves. For each observation we calculate new prediction: \hat{y}'=\hat{y}+s where s is the shift. Therefore, there are different error values for each shift: e_i = \hat{y_i}' - y_i

Over-estimation is calculated as: OVER= \sum(e_i|e_i>0).

Under-estimation is calculated as: UNDER = \sum(e_i|e_i<0).

The shift equals 0 is represented by a dot.

The Area Over the RROC Curve (AOC) equals to the variance of the errors multiplied by frac{n^2}{2}.


A ggplot object.


Hernández-Orallo, José. 2013. "ROC Curves for Regression". Pattern Recognition 46 (12): 3395–3411.

See Also

plot_roc, plot_rec


dragons <- DALEX::dragons[1:100, ]

# fit a model
model_lm <- lm(life_length ~ ., data = dragons)

lm_audit <- audit(model_lm, data = dragons, y = dragons$life_length)

# validate a model with auditor
mr_lm <- model_residual(lm_audit)

# plot results
plot(mr_lm, type = "rroc")

model_rf <- randomForest(life_length~., data = dragons)
rf_audit <- audit(model_rf, data = dragons, y = dragons$life_length)
mr_rf <- model_residual(rf_audit)
plot_rroc(mr_lm, mr_rf)
plot(mr_lm, mr_rf, type="rroc")

auditor documentation built on Nov. 2, 2023, 6:13 p.m.