I am trying to automate a system for checking if data is approximately normally distributed.

I know for a fact that the data is not strictly normal (there are small deviations from normality) so I only want to check if it is "normal enough".

I have large sample sizes so I avoid using a hypothesis test. I always use a QQ plot to check for approximate normality, I'm aware of the problem with hypothesis tests like the Sapiro-Wilk test when the sample size is very big.

I'm searching for a numerical measure of normality which has an equal expected value for any sample size. A measure like the p value of a test will converge to $0$ for large sample sizes and the variance of the $p$ value also tends towards $0$. I'd like a measure which has the same expected value for any sample size but a lower variance for larger samples.

Since I'm looking at QQ plots I tried to use the $R^2$ value of the line on the QQ plot but this didn't work because it measures the quality of the correlation without caring if the slope of the line is $1$ and the intercept is $0$. In the chart below I've made a QQ plot of an exponentially distributed variable (transformed to have $0$ mean and unit variance), the $R^2$ was high because most of the values are between -4 and -3 where the line is very linear. enter image description here

I also tried to use the slope of the QQ plot line (where a slope near 1 indicates normality). However, after some testing I found that any symmetrical distribution will have a QQ plot with an expected slope equal to 1 so this is a measure of symmetry not normality.

Is there a smarter way to approach this problem?


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.