Comment effectuer des tests de normalité multivariés en Python



Lorsque nous souhaitons tester si une seule variable est normalement distribuée ou non, nous pouvons créer un   Tracé QQ pour visualiser la distribution ou nous pouvons effectuer un test statistique formel comme un test d’Anderson Darling ou untest de Jarque-Bera .

Cependant, lorsque nous souhaitons tester si plusieurs variables sont normalement distribuées en tant que groupe, nous devons effectuer un test de normalité multivarié .

Ce tutoriel explique comment effectuer le test de normalité multivarié Henze-Zirkler pour un ensemble de données donné en Python.

Connexe : Si nous souhaitons identifier les valeurs aberrantes dans un contexte multivarié, nous pouvons utiliser la distance de Mahalanobis .

Exemple : test de normalité multivarié Henze-Zirkler en Python

Le test de normalité multivariée de Henze-Zirkler détermine si un groupe de variables suit ou non une distribution normale multivariée. Les hypothèses nulles et alternatives du test sont les suivantes :

H 0 (nul) : Les variables suivent une distribution normale multivariée.

H a (alternative) : Les variables ne suivent pas une distribution normale multivariée.

Pour effectuer ce test en Python nous pouvons utiliser la fonction multivariate_normality() de la bibliothèque pingouin.

Tout d’abord, nous devons installer pingouin :

pip install pingouin

Ensuite, nous pouvons importer la fonction multivariate_normality() et l’utiliser pour effectuer un test multivarié de normalité pour un ensemble de données donné :

#import necessary packages
from pingouin import multivariate_normality
import pandas as pd
import numpy as np

#create a dataset with three variables x1, x2, and x3
df = pd.DataFrame({'x1':np.random.normal(size=50),
                   'x2': np.random.normal(size=50),
                   'x3': np.random.normal(size=50)})

#perform the Henze-Zirkler Multivariate Normality Test
multivariate_normality(df, alpha=.05)

HZResults(hz=0.5956866563391165, pval=0.6461804077893423, normal=True)

Les résultats du test sont les suivants :

  • Statistique de test Hz : 0,59569
  • Valeur p : 0,64618

Étant donné que la valeur p du test n’est pas inférieure à notre valeur alpha spécifiée de 0,05, nous ne parvenons pas à rejeter l’hypothèse nulle. L’ensemble de données peut être supposé suivre une distribution normale multivariée.

Connexes : Découvrez comment le test Henze-Zirkler est utilisé dans des applications médicales réelles dans ce document de recherche .

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *