MyNixOS website logo
Description

Affine Invariant Tests of Multivariate Normality.

Various affine invariant multivariate normality tests are provided. It is designed to accompany the survey article Ebner, B. and Henze, N. (2020) <arXiv:2004.07332> titled "Tests for multivariate normality -- a critical review with emphasis on weighted L^2-statistics". We implement new and time honoured L^2-type tests of multivariate normality, such as the Baringhaus-Henze-Epps-Pulley (BHEP) test, the Henze-Zirkler test, the test of Henze-Jiménes-Gamero, the test of Henze-Jiménes-Gamero-Meintanis, the test of Henze-Visage, the Dörr-Ebner-Henze test based on harmonic oscillator and the Dörr-Ebner-Henze test based on a double estimation in a PDE. Secondly, we include the measures of multivariate skewness and kurtosis by Mardia, Koziol, Malkovich and Afifi and Móri, Rohatgi and Székely, as well as the associated tests. Thirdly, we include the tests of multivariate normality by Cox and Small, the 'energy' test of Székely and Rizzo, the tests based on spherical harmonics by Manzotti and Quiroz and the test of Pudelko. All the functions and tests need the data to be a n x d matrix where n is the samplesize (number of rows) and d is the dimension (number of columns).

mnt

The package mnt is designed to give users access to state of the art tests of multivariate normality. It accompanies the survey paper on goodness of fit tests of multivariate normality by Ebner, B. and Henze, N. (2020) Tests for multivariate normality -- a critical review with emphasis on weighted L2-statistics, that will appear in TEST. All of the described tests can be performed by functions provided in mnt.

Installation

You can install the released version of mnt from CRAN with:

install.packages("mnt")

And the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("LBPy/mnt")

Example

This is a basic example on how to use the mnt package: We generate a multivariate data set X.data and perform the BHEP test of normality for the generated X.data and using the tuning parameter a=3. The significance level is alpha. Note that the critical values are simulated by a Monte Carlo method.

library(mnt)
X.data = MASS::mvrnorm(50,c(3,4,5),diag(3,3)) 
X.BHEP = test.BHEP(X.data,a=3,alpha=0.05) 
X.BHEP 
#> 
#> ------------------------------------------------------------------------- 
#> 
#>          Test for multivariate normality with the BHEP  teststatistic.
#> 
#> tuning parameter = 3  
#> BHEP  =  0.9514364  
#> critical value =   1.09841  (via monte carlo) 
#> 
#> 
#> -------------------------------------------------------------------------

The value of the test statistic can directly be computed by

BHEP(X.data,a=3)                       
#> [1] 0.9514364

This also works in the univariate case:

X.data = stats::rnorm(25,3,5)
X.BHEP = test.BHEP(X.data,a=2,alpha=0.05) 
BHEP(X.data,a=2)     
X.BHEP 
#> 
#> ------------------------------------------------------------------------- 
#> 
#>          Test for multivariate normality with the BHEP  teststatistic.
#> 
#> tuning parameter = 2  
#> BHEP  =  0.6427705  
#> critical value =   0.9922879  (via monte carlo) 
#> 
#> 
#> -------------------------------------------------------------------------

And for other test statistics too:

X.data = stats::rnorm(25,3,5)
X.DEHT = test.DEHT(X.data,a=2,alpha=0.05) 
DEHT(X.data,a=2)     
X.DEHT 
#> 
#> ------------------------------------------------------------------------- 
#> 
#>          Test for multivariate normality with the DEH based on harmonic oscillator  teststatistic.
#> 
#> tuning parameter = 2  
#> DEH based on harmonic oscillator  =  1.303027  
#> critical value =   1.464164  (via monte carlo) 
#> 
#> 
#> -------------------------------------------------------------------------
Metadata

Version

1.3

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows