# Is linear regression robust enough to create a good model with this data?

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 value

Plot 2. Histogram of residuals

Plot 3. Residuals against transfer fee

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?

• 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 – mkt Jul 24 '17 at 16:45
• @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? – djota Jul 24 '17 at 18:44
• lm(y ~ x) i.e. lm(TransferFee ~ MarketValue) – mkt Jul 24 '17 at 21:10

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.