Learn R Programming

energy (version 1.7-12)

mvnorm.test: E-statistic (Energy) Test of Multivariate Normality

Description

Performs the E-statistic (energy) test of multivariate or univariate normality.

Usage

mvnorm.test(x, R)
mvnorm.etest(x, R)
mvnorm.e(x)

Value

The value of the \(\mathcal{E}\)-statistic for multivariate normality is returned by mvnorm.e.

mvnorm.test returns a list with class htest containing

method

description of test

statistic

observed value of the test statistic

p.value

approximate p-value of the test

data.name

description of data

mvnorm.etest is replaced by mvnorm.test.

Arguments

x

data matrix of multivariate sample, or univariate data vector

R

number of bootstrap replicates

Author

Maria L. Rizzo mrizzo@bgsu.edu and Gabor J. Szekely

Details

If x is a matrix, each row is a multivariate observation. The data will be standardized to zero mean and identity covariance matrix using the sample mean vector and sample covariance matrix. If x is a vector, mvnorm.e returns the univariate statistic normal.e(x). If the data contains missing values or the sample covariance matrix is singular, mvnorm.e returns NA.

The \(\mathcal{E}\)-test of multivariate normality was proposed and implemented by Szekely and Rizzo (2005). The test statistic for d-variate normality is given by $$\mathcal{E} = n (\frac{2}{n} \sum_{i=1}^n E\|y_i-Z\| - E\|Z-Z'\| - \frac{1}{n^2} \sum_{i=1}^n \sum_{j=1}^n \|y_i-y_j\|), $$ where \(y_1,\ldots,y_n\) is the standardized sample, \(Z, Z'\) are iid standard d-variate normal, and \(\| \cdot \|\) denotes Euclidean norm.

The \(\mathcal{E}\)-test of multivariate (univariate) normality is implemented by parametric bootstrap with R replicates.

References

Szekely, G. J. and Rizzo, M. L. (2005) A New Test for Multivariate Normality, Journal of Multivariate Analysis, 93/1, 58-80, tools:::Rd_expr_doi("10.1016/j.jmva.2003.12.002").

Mori, T. F., Szekely, G. J. and Rizzo, M. L. "On energy tests of normality." Journal of Statistical Planning and Inference 213 (2021): 1-15.

Rizzo, M. L. (2002). A New Rotation Invariant Goodness-of-Fit Test, Ph.D. dissertation, Bowling Green State University.

Szekely, G. J. (1989) Potential and Kinetic Energy in Statistics, Lecture Notes, Budapest Institute of Technology (Technical University).

See Also

normal.test for the energy test of univariate normality and normal.e for the statistic.

Examples

Run this code
 ## compute normality test statistic for iris Setosa data
 data(iris)
 mvnorm.e(iris[1:50, 1:4])

 ## test if the iris Setosa data has multivariate normal distribution
 mvnorm.test(iris[1:50,1:4], R = 199)

Run the code above in your browser using DataLab