2
$\begingroup$

I am working on a student research project using structural equation models for longitudinal analyses and am currently checking the assumptions. My sample comprises around 300-400 people.

If I have understood correctly from forum posts and various books, the univariate normal distribution must be checked first when checking the multivariate normal distribution, as this is necessary (although not sufficient) for the multivariate normal distribution, right? If the univariate normal distribution is not given for variables, the next step could be to look at the univariate outliers and check whether it is possible to achieve a normal distribution by removing them, for example. You would then look at the multivariate normal distribution (e.g. in R, as far as I know there is no such option in SPSS) and the multivariate outliers.

Now comes my problem: I checked univariate normality for my variables using the Kolmogorov-Smirnov test and it was significant for some variables. I think the reason is that the Kolmogorov-Smirnov test becomes significant for large samples even with small deviations from the normal distribution.

I read the following in a paper: "The formal normality tests including Shapiro-Wilk test and Kolmogorov-Smirnov test may be used from small to medium sized samples (e.g., n < 300), but may be unreliable for large samples. ... For sample sizes greater than 300, depend on the histograms and the absolute values of skewness and kurtosis without considering z-values. Either an absolute skew value larger than 2 or an absolute kurtosis (proper) larger than 7 may be used as reference values for determining substantial non-normality."

Since I have a very large sample, as mentioned here, I would not look at the Kolmogorov-Smirnov test etc., but only at the absolute values of skewness and excess, right?

$\endgroup$
6
  • $\begingroup$ Possible duplicate $//$ Possibly of additional interest $\endgroup$
    – Dave
    Commented Feb 20 at 11:49
  • 1
    $\begingroup$ My favourite (own;-) answer that applies is here: stats.stackexchange.com/questions/538561/… $\endgroup$ Commented Feb 20 at 18:27
  • 2
    $\begingroup$ Do not remove observations in order to achieve normality, unless you have strong evidence that they are indeed wrong. In proper data analysis we want to find out what is going on with the data, we do not want to manipulate the data in such a way that they look like fulfilling our favourite assumptions. Removing correct and informative observations will bias your analysis. $\endgroup$ Commented Feb 20 at 18:30
  • $\begingroup$ Thank you so much! You're absolutely right. The other option would be to transform the data, right (e. g. winsorizing)? My problem is that I think I can't use a robust alternative because I'm working with onyx (which depends on ML). $\endgroup$ Commented Feb 20 at 18:50
  • 1
    $\begingroup$ @Freiheit That is an option, and another possibility is that what you call outliers isn't even much of a problem. I don't know your data, so I can't tell. $\endgroup$ Commented Feb 20 at 20:27

2 Answers 2

2
$\begingroup$

The links that Dave gave in a comment are useful, but I think this question is a little bit different.

First, KS can be useful at any sample size, but its p value is conflated with sample size (as are all p values). So, don't rely on its p value for small samples (when a large deviation will not be significant) or large ones (when the opposite happens).

Second, I would always look at skewness and kurtosis. However, other things can be nonnormal.

Finally, I don't think histograms are the best graphic here, neither does William S. Cleveland, who is the maven on statistical graphics. I would use density plots (which are sort of a smoothed histogram), box plots, and quantile normal plots. The last are probably the most useful, but they take a bit of practice to interpret.

(Histograms can give very different impressions for different bin widths and starting values).

$\endgroup$
6
  • $\begingroup$ Thank you so much for your answer! It helped a lot. And would it be right to first check what I can do to achieve univariate normal distribution (e. g. delete outliers etc. - if e.g. skewness and kurtosis and quantile normal plots indicate nonnormal distribution), then look at multivariate outliers and check multivariate normal distribution in the last step? $\endgroup$ Commented Feb 20 at 13:33
  • $\begingroup$ Deleting outliers that are not data entry errors is not usually a good idea. Nor is removing multivariate outlers. In fact, in a reasonably high dimension, almost every point is an outlier. Rather, you should look for models that accommodate your data. (PS If my answer answers your question, it is usual to click the check mark). $\endgroup$
    – Peter Flom
    Commented Feb 20 at 13:35
  • $\begingroup$ Ok, thank you! But in terms of the steps, this would be the appropriate approach, wouldn't it? So first take care of the univariate distribution (and decide whether to transform the data or e. g. replace the outliers with less extreme values to achieve normal distribution); then take care of the multivariate outliers and finally check whether multivariate normal distribution is given? I just want to be sure about how to proceed :-) Thank you so much again! $\endgroup$ Commented Feb 20 at 13:41
  • $\begingroup$ If I was working on a model, I'd look at the plots for that model. In any case, even OLS regression does not require that the data be normally distributed, it assumes things about the error. But you should look at each variable just for data checking and cleaning. You don't want impossible values (e.g. there are no 3 meter tall humans). And, like I said, when you get to a reasonable number of dimensions, finding outliers is almost impossible. Look up the "curse of dimensionality" for more about this. $\endgroup$
    – Peter Flom
    Commented Feb 20 at 13:44
  • $\begingroup$ Ok. So it's essential to look at the plots for the model, meaning the multivariate distribution, but also at the distribution for each variable, right? And with "dimensions" you mean the sample size, right? $\endgroup$ Commented Feb 20 at 14:04
1
$\begingroup$

Since you are working with SEM, you should also know that the requirement for multivariate normality (among the endogenous variables) is not very strict and that there are several alternative estimators besides maximum likelihood to largely correct for non-normality. The Bentler-Weeks estimator is one of the best known. These are available in the lavaan package for SEM in R.

$\endgroup$
1
  • $\begingroup$ Thank you so much! I'm working with Onyx, do you know whether there's an option to correct for nonnormality there? $\endgroup$ Commented Feb 20 at 18:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.