I'm doing some basic enough analysis on predicting transfer fees in football using a linear regression model but ran into a possible issue. I checked the data for linearity as well as normality and everything looks fine. However when looking homoscedasticity (Plot 3) the errors look a lot bigger as transfer fee increases creating this horizontal cone shaped graph.

Plot 1. Transfer fee against market value1]

Plot 2. Histogram of residuals2]

Plot 3. Residuals against transfer fee3]

Is linear regression robust enough to create a good model for this data or do I need to look at something else? Is there anything I have missed or need to consider?

I ran the model anyway to see what came up and unsurprisingly I got a high r^2 but I reckon this is due to the bigger values having more of a much larger pull on the best fit line. More importantly I suppose, I looked at the residual standard error but if the model isn't robust enough to homoscedasticity I can't see how the residual standard error would be in any way meaningful.

I got two values for residual standard error as well which confused me a little depending on whether I typed the transfer fee or market value variable first in the function.

For example: lm(MarketValue ~ TransferFee, or lm(TranferFee ~ MarketValue,

I'm thinking this is something to do with which is the predictor variable but how do I know whether to put that variable first or second in the function?

  • 3
    $\begingroup$ A very common approach for this kind of data is to log-transform both axes and then run a linear regression. Log-transformation has the effect of 'compressing' the highest values more, so it would also help you visually understand if there are any patterns in that cloud at the bottom left. But if you want to keep things on a linear scale, 1) linear regression is generally quite robust, and 2) there is also a method called robust regression that you may be interested in: en.wikipedia.org/wiki/Robust_regression $\endgroup$ – mkt Jul 24 '17 at 16:45
  • $\begingroup$ @mkt Thanks. I redid the analysis with robust regression and the results look better. I'll give log-transform a go as well as I would be interested in any patterns in the cloud at the bottom left of the graph. In regards to my second question how do I know whether to put the predictor variable first or second in the function? Do you have any idea? $\endgroup$ – djota Jul 24 '17 at 18:44
  • $\begingroup$ lm(y ~ x) i.e. lm(TransferFee ~ MarketValue) $\endgroup$ – mkt Jul 24 '17 at 21:10

Your data look like a nice candidate for fitting a log-normal model. Most of your distribution is in the low market values, but some high market values make the residual plot look moderately bad.

You should certainly log-transform both your predictor and response variable, and plot the data again. What to use in your response variable depends on what you want to do.

lm(MarketValue ~ TransferFee) and lm(TranferFee ~ MarketValue) are very different. Do you want to estimate a model conditional to TransferFee or MarketValue?

Your first sentence: predicting transfer fees imply you want lm(TranferFee ~ MarketValue). You shouldn't adjust your response variable just because you want better standard errors in your model.

Alternatively, you could take a look at quantile regression if you're interested in median and robust estimators.


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.