# Normality assumption and sample size

I know this is a very debated topic, even on this site, but I still couldn't find an answer to my problem.

Recently I am working with large samples (300, 400 and more). For now, I am trying to use simple techniques, such as correlation, T-tests, and ANOVA, all of which require the normality assumption (from what I have read so far in the textbooks, online etc.) I also read that, if the sample size is large enough, the normality assumption is not so much of a problem and these techniques are robust to the violation of normality. Is normality a problem given my sample size? Should the data be at least bell-shaped, even if the tests fail to accept normality? Or could I get away even with extremely skewed or lumped data when using these techniques?

Should I apply parametric techniques or should I just stick to the non-parametric ones, which, from what I know, have lower power?

LATER EDIT for those who want to find more about my data:

I have a variable which represents the number of days a user has been employed in the program (mean=176, median=167, stdev=87, IQR=113, Skewness=0.61, kurtosis=-1.64) sample=340users. The histogram does show that maybe the variable has the potential to split into 'fairly normal' groups (however I have not found this factor).

This is the variable that for now i am trying to explain, in terms of 'The Number of Weeks The User has worked in the first 8 weeks', which takes values from 1 to 8, so I assume it is ordinal, and has a negative skew(most of them have worked 8 weeks out of 8). So, the main question would be is there a relationship between how much a user will stay employed and the amount of work he does in the first 8 weeks?

Also, later I would compare the length of employment with other possible factors, for which currently I don't have the data (education, gender, age, ..)and try to build a more 'elaborate' model, but right now I try to analyse what I have with 'simple' statistics.

For now, I have done a Spearman correlation between length of employment and weeks worked out of first 8, had a coefficient of 0.450 (which means low correlation), so I am trying to see if those who have worked an amount of no of weeks in the first 8 differentiate themselves in terms of length of employment from those who have worked fewer/more weeks. So I studied the distributions of length of employment for each of the groups (a group means a certain no of weeks they have worked in the first 8). In each group I have around 25-40 cases (except weeks worked=0 where I have 9cases and weeks worked=9 where there are 156). The normality test (Shapiro-Wilk, which I knew were suitable with such sample size) showed that only 2 groups out of 9 are normally distributed. So my thought was to drop ANOVA and t-tests and head for Mann-Whitney U Test and Kruskal-Wallis Test. However now I am re-considering maybe looking at ANOVA and t-tests because the groups do not look that non-normal. Thanks.

• I think the answers you're looking for are in this thread, so I'm voting to close as a duplicate. Mar 13, 2013 at 13:26
• I think there is definitely overlap with the mentioned thread but the thread doesn't address non-parametric tests at large N.
– John
Mar 13, 2013 at 14:10
• I agree with you about that, @John, but unfortunately this question is broad. I would struggle to give a full answer in less than a short monograph and I suspect many other people would have a similar problem. DL10x, could you edit your question to be more specific about the samples you have and what you are trying to learn about them?
– whuber
Mar 13, 2013 at 18:39
• you problem seems to be of hypothesis testing with condition variables such as length of employment, education, gender, etc.. Have you tried using Bayes Classification? A good introduction is here! Mar 14, 2013 at 15:28

Disputes about normality with large N are often to do with tests of normality, not normality per se. For larger sample sizes passing a test of normality, like Shapiro-Wilks is not required. Consider the following in R.

findNonNormal <- function(n = 5000){
p <- 1
while(p > 0.05) {
y <- rnorm(n)
p <- shapiro.test(y)\$p.value
}
y
}

y <- findNonNormal()
hist(y)
qqnorm(y)


The results show a remarkably normal distribution that the test says is not normal. That's because the power of the test is so high with that N that it finds non normal distributions with very small deviations. You could easily find similar results with the N's you mentioned.

Generally, passing an eyeball test of normality is all that's needed. This eyeball test needs to be adjusted with N. If you feel you cannot do the assessment just do some simulations with a similar N and see what typical data from a truly normal distribution look like.

If your data really are not normal don't do the parameteric tests. But, contrary to your belief, a large N with reasonably normal distributions is when the power of a parametric test becomes most valuable. It allows one to make estimates of the parameters in the population, and the better and larger the sample the more accurate those estimates will be.

Additionally, if you're looking at a t-test, for example, the distribution of the data is going to be bimodal with a strong effect. It's because there are two means in the distribution. So, the requirement is not that the data look normal but the residuals look normal. This is true for your ANOVA as well.

• thanks for the clarification about the normality testing and sample size. About applying t-tests or anova to non-normal samples, it makes sense , (and i had this somewhere in the back of my mind when I wrote the question) when you perform t-tests or anova you have to look at the distributions of those groups, which should look normal, not at the whole sample, which brings me to my next question: if these groups fail to look normal then should you be worried about applying t-tests or ANOVA? Checking the residuals for normality is something i did not know you can do for t-tests or anova. Mar 13, 2013 at 14:58
• In order to check residuals for normality you could just generate them by subtracting the appropriate mean values for each condition. Then all of the data can be examined simultaneously for normality. If your software allows you to extract residuals from an ANOVA you can also do it that way.
– John
Feb 10, 2015 at 23:12

+1 to @John. Let me add a couple of supplementary points:

1. The concern behind the normality assumption is whether or not you can trust the default p-values that software will output.
2. If your residuals (although it may not be obvious, t-tests & ANOVAs are special cases of regression) are normally distributed, you can trust your p-values to be the actual probability of getting a sample statistic as far or further from the null value, if the null hypothesis is true, even if your sample size is minimal.
3. With a sufficiently large sample size, the central limit theorem will lead the sampling distribution of your sample statistic to converge to approximate normality, and you will be able to trust your p-values.
4. The required N for the CLT to cover you depends on how, and how much, your residuals are non-normal, with skew generally being more damaging than kurtosis in practice. (Skewed data where the direction of the skew flips are especially damaging, but probably rare.)
• Does point 3 mean that we can trust our p-values if we have, say, a sample size of 30? If yes, does that mean that non-parametric tests have no use when samples are large? I am asking these questions because I am reading these slides, #7 in particular: geography.unt.edu/~wolverton/… Oct 29, 2016 at 3:30
• @tamzord, what constitutes "large" is ambiguous, & isn't necessarily 30 (eg, see here). I use nonparametrics often. Oct 29, 2016 at 12:19

normality assumption needs to be validated, especially if it has implications on the analysis or method of analysis in you data. however, at times even with big or large data normality will be rejected and that has some meaning in itself about the data set or the random variable in question, hence i would suggest that if normality is a prerequisite for analysis it must be met, and if rejected other alternatives may be explored like taking the log of each value which may normalize you data.