# How to do normality test for high dimension data?

I have samples from a $$d$$ dimensional distribution $$p$$. The distribution of $$p$$ is unknown. I want to use the samples to judge whether or not the $$p$$ is close to a standard unit Gaussian distribution. I believe there should be some standard approaches for this question, but unfortunately, I do not find a solution for high-dimensional cases. BY high dimensional, I mean $$d$$ is several thousand.

The only approach in my mind is doing one dimension testing with projecting data to low dimension.

• It depends what exactly you're looking for. If high-dimensional data is distributed multivariate normal, then each variable is normal. So to test for MVN, you would just test each dimension. A second consideration is independence. To be MVN normal your variables should be i.i.d.. It also matters why you want to know. What kind of analysis are you going to run on the data? Commented Apr 13, 2021 at 16:27
• @Tanner I am transforming a batch of images to noised image, hoping noised image is pure Gaussian noise. I can not test one dimension after one dimension, since the correction between pixels matters. Commented Apr 13, 2021 at 17:08
• hmm. That's pretty far outside of my domain expertise, so I'm not sure how much help I will be. But shouldn't the function you use to noise the data guarantee a certain distribution? Sorry if that is nonsense, I may be out of my leauge. Commented Apr 13, 2021 at 17:13
• @TannerPhillips Variables should be iid? I disagree. There’s nothing wrong with having a non-diagonal covariance matrix, and there nothing wrong with having different means or variances in the marginal distributions.
– Dave
Commented Apr 14, 2021 at 2:17
• One problem with projecting data is that low-dimensional projections of high-dimensional data tend to be close to Normal even if the high-dimensional data aren't, basically by the Central Limit Theorem. (projecteuclid.org/journals/annals-of-statistics/volume-12/…) Commented Apr 14, 2021 at 3:20

## 1 Answer

From a practical standpoint, high-dimensional data will never be multinormal (unless generated by simulation). So always reject will be a fairly good test! See the answer at Standard Gaussianity test for high dimensional data

A fairly new literature review and there are some R packages at CRAN MVN and mvnormalTest.