Computes the multivariate normality test based on the classical invariant measure of multivariate sample skewness due to Mardia (1970).
test.MSkew(data, MC.rep = 10000, alpha = 0.05)a list containing the value of the test statistic, the approximated critical value and a test decision on the significance level alpha:
$Testname of the test.
$Test.valuethe value of the test statistic.
$cvthe approximated critical value.
$Decisionthe comparison of the critical value and the value of the test statistic.
a n x d matrix of d dimensional data vectors.
number of repetitions for the Monte Carlo simulation of the critical value
level of significance of the test
Multivariate sample skewness due to Mardia (1970) is defined by $$b_{n,d}^{(1)}=\frac{1}{n^2}\sum_{j,k=1}^n(Y_{n,j}^\top Y_{n,k})^3,$$ where \(Y_{n,j}=S_n^{-1/2}(X_j-\overline{X}_n)\), \(\overline{X}_n\) is the sample mean and \(S_n\) is the sample covariance matrix of the random vectors \(X_1,\ldots,X_n\). To ensure that the computation works properly \(n \ge d+1\) is needed. If that is not the case the test returns an error. Note that for \(d=1\), we have a measure proportional to the squared sample skewness.
Mardia, K.V. (1970), Measures of multivariate skewness and kurtosis with applications, Biometrika, 57:519-530.
Henze, N. (2002), Invariant tests for multivariate normality: a critical review, Statistical Papers, 43:467-506.
MSkew
test.MSkew(MASS::mvrnorm(50,c(0,1),diag(1,2)),MC.rep=500)
Run the code above in your browser using DataLab