R: E-statistic (Energy) Test of Multivariate Normality

mvnorm.test {energy} | R Documentation

## 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)

### Arguments

`x` | data matrix of multivariate sample, or univariate data vector
`R` | number of bootstrap replicates

### 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 E-test of multivariate normality was proposed and implemented by Szekely and Rizzo (2005). The test statistic for d-variate normality is given by

E = n((2/n) sum[1:n] E||y_i-Z|| - E||Z-Z'|| - (1/n^2) sum[1:n,1:n] ||y_i-y_j||),

where y_1,…,y_n is the standardized sample, Z, Z' are iid standard d-variate normal, and || || denotes Euclidean norm.

The E-test of multivariate (univariate) normality is implemented by parametric bootstrap with `R` replicates.

### Value

The value of the 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`.

### Note

If the data is univariate, the test statistic is formally the same as the multivariate case, but a more efficient computational formula is applied in `normal.e`.

`normal.test` also provides an optional method for the test based on the asymptotic sampling distribution of the test statistic.

### Author(s)

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

### References

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

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

     ## 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.etest(iris[1:50,1:4], R = 199)

[Package energy version 1.7-6 Index]