1
$\begingroup$

Suppose we have a simple regression model with non-normal residuals. Transform the outcome variable with Box-Cox or Yeo-Johnson and fit a linear regression. Evaluating on a suitable test set, take the resulting response variable results, reverse the transformation, and find the R^2. Is there any reason to expect a better R^2 from this procedure than from a fit without transforming the response variable?

I'm under the impression that the most compelling reason to transform your response variable in a simple regression is to allow you to validly apply more statistical tests. I'm trying to see if I'm misguided on that front.

$\endgroup$
6
  • 3
    $\begingroup$ Do not pre-emptively declare that your question is simple; it is for readers to judge this matter. (In the present case your question assumes reader familiarity with regression analysis, two types of variable transformations, and statistical prediction.) $\endgroup$
    – Ben
    Feb 6, 2022 at 21:08
  • $\begingroup$ That's fine. Change the wording however you like. I'm more interested in some kind of an answer, though. $\endgroup$ Feb 7, 2022 at 0:11
  • 1
    $\begingroup$ The answer must depend in part on what you mean by "better" predictions: how do you propose to measure the goodness of the predictions? $\endgroup$
    – whuber
    Feb 12, 2022 at 20:00
  • $\begingroup$ A fair question. R^2 in addition to RMSE or MAE, depending on the data and how outlier heavy it is. $\endgroup$ Feb 13, 2022 at 0:49
  • 1
    $\begingroup$ Yes, I should have been clearer; I will edit the question. The focus of my analysis is on R^2 of the response variable as originally expressed (evaluated on a suitable test set, not used to train the model). I was focused on training a model with a transformed response variable, fitting it on test data and then reversing the transformation to get results as originally expressed. Then, take R^2. I have not found a dramatically improved R^2 from this procedure in the wild on a variety of datasets. $\endgroup$ Feb 13, 2022 at 21:39

1 Answer 1

2
+50
$\begingroup$

The answer to your question depends on how you actually obtain the predictions of your model.

If you know / have a good model for the distribution of the errors, and you use it for example for calculating maximum likelihood estimators for the model parameters, then the answer is no - MLE is invariant under such transformations, so it doesn't matter whether you transform the data or not.

But if you just naively use some method that implicitly assume normality (such as least squares, which is equivalent to maximum likelihood with normal errors) then your model is effectively misspecified and that can have many undesired consequences.

For example MLE's are known to be asymptotically unbiased and efficient, so if you use least squares with normal errors your predictions will have those properties, but with non normal errors they will generally not.

To think of an intuitive example, imagine an error distribution with a long one-sided tail, and suppose you have correspondingly few data points far away from the bulk of the data. If you try to fit it with least squares, those 'outliers' will have a large contribution to the loss function so they will drag the entire fitted model away from the bulk of data, resulting in a less accurate model. On the other hand a transformation that normalizes the errors will squeeze the tail, pulling the outliers towards the rest of the data, so you will not suffer from this effect. (Of course this is under the assumption that the transformation does normalize the data, which may or may not be true for a given case).

Quantifying the effects of model misspecification is generally hard, because there are obviously many ways in which a model can be misspecified. But if you google for example "consequences of model misspecification" you can find many references. This book might also be relevant.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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