R: E-statistic (Energy) Test of Multivariate Normality
mvnorm.etest
R Documentation
E-statistic (Energy) Test of Multivariate Normality
Description
Performs the E-statistic (energy) test of multivariate or univariate normality.
Usage
mvnorm.etest(x, R = 999)
mvnorm.e(x)
normal.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, the univariate statistic normal.e(x) is returned.
If the data contains missing values or the sample covariance matrix is
singular, NA is returned.
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
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 univariate
normality is returned by normal.e.
The value of the E-statistic for multivariate
normality is returned by mvnorm.e.
mvnorm.etest returns a list with class htest containing
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).
Examples
## compute normality test statistics for iris Setosa data
data(iris)
mvnorm.e(iris[1:50, 1:4])
normal.e(iris[1:50, 1])
## test if the iris Setosa data has multivariate normal distribution
mvnorm.etest(iris[1:50,1:4], R = 199)
## test a univariate sample for normality
x <- runif(50, 0, 10)
mvnorm.etest(x, R = 199)