I have used a few regression models on the same dataset and obtained error metrics for them as shown below,

enter image description here

The RMSE(Root Mean Squared Error) and MAE(Mean Absolute Error) for model A is lower than that of model B where the R2 score is higher in model A. According to my knowledge this means that model A provides better predictions than model B. But when considering the MAPE (Mean Absolute Percentage Error) model B seems to have a lower value than model A. I would really appreciate it if someone could explain why it is so. Thanks in advance.

  • $\begingroup$ What is the range of output in your train data? $\endgroup$ – Ankit Seth Aug 20 '18 at 5:30
  • $\begingroup$ I am asking RANGE of output variable in your model ! $\endgroup$ – Ankit Seth Aug 20 '18 at 5:41
  • $\begingroup$ Output range is (99.12,5628) $\endgroup$ – Krishi H Aug 20 '18 at 5:56
  • $\begingroup$ Well, your RMSE and R2 give the same interpretation, model A is better than B. As for MAPE, I can't say the actual problem, but it might be because of the errors cancelling each other out. Take a look at this- qr.ae/TUNpEP and medium.com/human-in-a-machine-world/… $\endgroup$ – Ankit Seth Aug 20 '18 at 6:13

The reason is the wider range of your output variable. Consider the following two cases,

  1. Real value was 99, prediction is 101
  2. Real value was 5520, prediction is 5522

In both cases, the absolute error is 2, but relative error in first case is much larger (2% - 2/101) than second case (0.035% 2/5520). Absolute and relative metrics are measuring different aspects of the prediction. So one model is not better than the other in absolute sense (pun intended).

Which metric to value depends on your application. When the outcome range is wide (probably your case) and skewed, relative error measurements are better than absolute error measurements.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.