I'm working in Python with statsmodels. I estimate an OLS multiple regression model (n=10763; 12 predictors; r^2=0.29) The model coefficients all have signs pointing the correct theoretical direction and are significant. Multicollinearity is not a problem (VIFs and condition number are good). The residuals show no discernible pattern, so there appears to be negligible heteroskedasticity, but the residuals' distribution skew is 0.317 and the kurtosis is 3.543.

The problem is that the actual vs predicted plot does not adhere to a y=x line:

actual vs predicted

The model seems to under-predict high values and over-predict low values when compared to the actual observations. What is this telling me? Is there a major problem with my model that I must re-specify or do something with outliers?

  • $\begingroup$ does residual vs. predicted look fine? $\endgroup$ – Aksakal Mar 12 '18 at 19:32
  • $\begingroup$ It adheres beautifully, as your plot of the difference (the residuals) at stats.stackexchange.com/questions/332433 so clearly shows. Lurking behind this question might be exactly the same issues recently discussed at stats.stackexchange.com/questions/332819 : take a look. $\endgroup$ – whuber Mar 12 '18 at 20:38
  • 1
    $\begingroup$ Let me put this another way: assuming your plot of residuals at stats.stackexchange.com/questions/332433 corresponds to these data, it forcibly demonstrates that these data do follow the line $y=x$, because that plot displays the values $(y,y-x)$ and the complete absence of any trend ("show no discernible pattern" as you correctly note) corresponds to lack of variation in $y-x$ which means $y=x$ up to random variation. $\endgroup$ – whuber Mar 13 '18 at 18:35

Your Answer

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

Browse other questions tagged or ask your own question.