S2.test {mvnTest} | R Documentation |
Chi-squared type tests for Multivariate Normality
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
S2.test(data, M=5, qqplot = FALSE)
Arguments
data |
A numeric matrix or data frame |
M |
A number of equiprobable intervals |
qqplot |
if |
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 |
p.value.s2 |
the p-value of |
y2 |
the value of the Nikulin-Rao-Robson test |
p.value.y2 |
the p-value of |
u2 |
the value of the Dzhaparidze-Nikulin test |
p.value.u2 |
the p-value of |
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
## 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