# Regression: Are these residuals normally distributed?

I have read a lot about the importance of the residuals being normally distributed. In order to check whether my own regression fulfils the OLS assumptions, I plotted the following QQ plot:

I assume the curve on the upper right may be a problem for normal distribution. Unfortunately, I have no idea what is the benchmark for normal distribution. Looking at this plot, could you help me with identifying the distribution scheme of the residuals? Are they normally distributed or not?

• Why not use the qqPlot function from the car package (rdocumentation.org/packages/car/versions/3.0-2/topics/qqPlot)? This function produces a confidence envelope around the diagonal line suggesting compatibility of the studentized residuals with the normal distribution. If all the points in the plot fall within the confidence envelope, compatibility is supported. – Isabella Ghement Jan 26 '19 at 19:14
• You can't interpret a QQ plot of residuals if there's lack of fit or heteroskedasticity. Assuming those are fine, it's clearly right skew, though not terribly severely. What is your response variable? What's the model for? – Glen_b Jan 27 '19 at 1:07
• Regarding having confidence envelopes around QQ plots, this is a good idea but beware that the power to detect non-normality is not 1.0 and that a "false negative" finding can result in overly trusting the normality assumption. To the original point, when normality is not known to hold, I would use a statistical method that does not assume it, e.g., semiparametric regression (ordinal regression). – Frank Harrell Jan 27 '19 at 13:02

How many observations you have? Is it a continuos variable?

You should also check the homoscedasticity with residuals vs fitted plots. If there is no pattern in your residuals, you can assume homoscedasticity:

Besides the qqplots, check the residuals histograms

hist(resid(model))


The histogram should looks like a bell shape

You could also use the shapiro wilk test

shapiro.test(resid(model))


If your p-value is non significant you can assume normality.

Regarding your qqplot, they are not perfectly normal, but, it is not common data that show a perfect behavior, you should consider these other inspections to check normality.

If you found a problem look for transformations, such as log, cube root, etc, it will depends of your data type, skewness, etc.

Good luck!