Chi-squared type tests for Multivariate Normality

Share:

Description

This function implements three chi-squared type goodness-of-fit tests for multivariate normality, namely, the McCulloch S2 test, Nikulin-Rao-Robson Y2 and Dzhaparidze-Nikulin U2 tests.

Usage

1

Arguments

data

A numeric matrix or data frame

M

A number of equiprobable intervals

qqplot

if TRUE it creates a chi-square Q-Q plot

Details

Calculates the values of the three chi-squared type test statistics, the McCulloch S2, Nikulin-Rao-Robson Y2 and Dzhaparidze-Nikulin U2 tests, and the corresponding p-values. The construction of all three tests is based on the Wald's type chi-squared goodness-of-fit tests. The vector of unknown parameters is estimated by the maximum likelihood method.The Karhunen-Loeve transformation is applied to a multi-dimensional sample data in order to diagonalize a sample covariance matrix. The null asymptotic distributions of the S2, Y2 and U2 tests are chi-squared distributions with 1, M-1 and M-2 degrees of freedom correspondingly.

Value

s2

the value of the McCulloch test S2

p.value.s2

the p-value of S2 test

y2

the value of the Nikulin-Rao-Robson test Y2

p.value.y2

the p-value of Y2 test

u2

the value of the Dzhaparidze-Nikulin test U2

p.value.u2

the p-value of U2 test

data.name

a character string giving the name of the data

Note

The displayed result about multivariate normality is based on the McCulloch S2 test.

Author(s)

Vassilly Voinov, Natalya Pya, Rashid Makarov, Yevgeniy Voinov

References

Voinov, V., Pya, N., Makarov, R., and Voinov, Y. (2015) New invariant and consistent chi-squared type goodness-of-fit tests for multivariate normality and a related comparative simulation study. Communications in Statistics - Theory and Methods. doi link: http://www.tandfonline.com/doi/full/10.1080/03610926.2014.901370

Voinov, V., Nikulin, M. and Balakrishnan, N., Chi-squared goodness of fit tests with applications. New York: Academic Press, Elsevier, 2013

See Also

AD.test, DH.test, R.test, CM.test, HZ.test

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
## generating n bivariate normal random variables...       
dat <- rmvnorm(n=200,mean=rep(0,2),sigma=matrix(c(4,2,2,4),2,2)) 
res <- S2.test(dat, qqplot = FALSE)
res
## generating n bivariate t distributed with 10df random variables...       
dat <- rmvt(n=200,sigma=matrix(c(4,2,2,4),2,2)*.8,df=10,delta=rep(0,2)) 
res1 <- S2.test(dat, qqplot = TRUE)
res1

data(iris)
setosa = iris[1:50, 1:4] # Iris data only for setosa
res2 <- S2.test(setosa, qqplot = TRUE)
res2