Performs the BHEP test of multivariate normality as suggested in Henze and Wagner (1997) using a tuning parameter a
.
test.BHEP(data, a = 1, MC.rep = 10000, alpha = 0.05)
a n x d matrix of d dimensional data vectors.
positive numeric number (tuning parameter).
number of repetitions for the Monte Carlo simulation of the critical value
level of significance of the test
a list containing the value of the test statistic, the approximated critical value and a test decision on the significance level alpha
:
$Test
name of the test.
$param
value tuning parameter.
$Test.value
the value of the test statistic.
$cv
the approximated critical value.
$Decision
the comparison of the critical value and the value of the test statistic.
The test statistic is $$BHEP_{n,\beta}=\frac{1}{n} \sum_{j,k=1}^n \exp\left(-\frac{\beta^2\|Y_{n,j}-Y_{n,k}\|^2}{2}\right)- \frac{2}{(1+\beta^2)^{d/2}} \sum_{j=1}^n \exp\left(- \frac{\beta^2\|Y_{n,j}\|^2}{2(1+\beta^2)} \right) + \frac{n}{(1+2\beta^2)^{d/2}}.$$ Here, \(Y_{n,j}=S_n^{-1/2}(X_j-\overline{X}_n)\), \(j=1,\ldots,n\), are the scaled residuals, \(\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.
Henze, N., Wagner, T. (1997), A new approach to the class of BHEP tests for multivariate normality, J. Multiv. Anal., 62:1-23, DOI
# NOT RUN {
test.BHEP(MASS::mvrnorm(50,c(0,1),diag(1,2)),MC.rep=500)
# }
Run the code above in your browser using DataLab