Cross Validated is a question and answer site for people interested in statistics, machine learning, data analysis, data mining, and data visualization. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My data is misbehaving and I can't seem to get residuals with constant variance despite doing more transformations than Optimus Prime. Is it ever okay to just continue with analysis in and just make a note that some assumptions were violated as the data is difficult or impossible to fit with a linear model?

enter image description here

share|improve this question
Uh, the spread of those residuals look okay to me. With that arrangement of x's what did you expect the spread should look like? (I'd worry more about transformations making your mean function nonlinear in x.) – Glen_b Mar 17 '14 at 2:34
You don't want the residuals vs fitted plot here. This plot tells you there is some curvature in the x y relationship that isn't being captured by your model. To assess homoscedasticity, you want plot(model, which=2), which will give you scale-location plot (see my answer here: What does having "constant variance" in a linear regression model mean?). – gung Mar 17 '14 at 3:19
"My data is misbehaving" ... was that the approach of Copernicus, or Newton or Einstein? – Ivo Renkema Mar 17 '14 at 9:22
I think it was Heisenberg, but I'm uncertain. – user1800340 Mar 18 '14 at 0:29
True, Heisenberg was rather cloudy on this matter... – Ivo Renkema Mar 18 '14 at 8:47
up vote 6 down vote accepted

The spread of those residuals look okay to me. With that arrangement of x's what did you expect the spread should look like? (I'd worry more about transformations making your mean function nonlinear in x.)

Specifically, if I generate random data with a similar pattern of x's for which the y's have constant variance, the residual plots do often look like that. Note that your impression of spread is heavily influenced by the range of residuals at each x, which does shrink on average as the x-density gets thinner, even when the sd is constant.

Here's four example residual plots, for which the data was randomly generated -- where the population spread at each x is constant (I know because I generated the data that way). As you see, the plots have a broadly similar appearance to yours, tending to look like vaguely elliptical point clouds (somewhat reminiscent of the shape of Stewie Griffin's head).

When the x's are vaguely normal, that's how residual plots should look. So if that's your objection, it's not only not a problem, its what you should hope to see.

enter image description here

Now let's imagine we had instead clear evidence of actual heteroskedasticity. Can we ignore that?

Well, that depends. Your estimates of standard deviations (e.g. of regression coefficients) will be biased. Your p-values in tests will be wrong. Confidence intervals will be biased and prediction intervals too narrow in some places and too wide in other places.

If you're not doing any of those things, it may not matter so much; some inefficiency in estimation of the coefficients may be about the worst of it.

share|improve this answer
+1, that was my first reaction too--the spread of the residuals looks okay. – Patrick Coulombe Mar 17 '14 at 3:15
In the comments on my question, gung mentioned that there is unspoken for curvature in the X Y relationship. Even though the data appears homoskedastic now, isn't the observed curvature reason enough to throw out this model, or continue seeking better transformations? – user1800340 Mar 17 '14 at 4:47
I alluded to this problem in the last sentence of my opening paragraph. How much concern you place on that curvature depends on what you're doing and why, but generally getting the mean right is substantially more important than worrying about the spread. It's not necessarily the case that you'd throw out the transformation (though it may be a good choice), since there are alternatives such as adding a term to the model to pick up the curvature. – Glen_b Mar 17 '14 at 4:54

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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