Hoe u multivariate normaliteitstests kunt uitvoeren in python


Als we willen testen of een enkele variabele normaal verdeeld is of niet, kunnen we een   QQ-plot om de verdeling te visualiseren of we kunnen een formele statistische test uitvoeren, zoals een Anderson Darling-test of een Jarque-Bera-test .

Als we echter willen testen of meerdere variabelen normaal verdeeld zijn als groep, moeten we een multivariate normaliteitstest uitvoeren.

In deze tutorial wordt uitgelegd hoe u de Henze-Zirkler multivariate normaliteitstest uitvoert voor een bepaalde dataset in Python.

Gerelateerd: Als we uitschieters in een multivariate context willen identificeren, kunnen we Mahalanobis-afstand gebruiken .

Voorbeeld: Henze-Zirkler multivariate normaliteitstest in Python

De Henze-Zirkler multivariate normaliteitstest bepaalt of een groep variabelen al dan niet een multivariate normale verdeling volgt. De nul- en alternatieve hypothesen van de test zijn als volgt:

H 0 (nul): De variabelen volgen een multivariate normale verdeling.

H a (alternatief): De variabelen volgen geen multivariate normale verdeling.

Om deze test in Python uit te voeren, kunnen we de functie multivariate_normality() uit de pinguïnbibliotheek gebruiken.

Eerst moeten we Penguin installeren:

 pip install penguin

Vervolgens kunnen we de functie multivariate_normality() importeren en deze gebruiken om een multivariate normaliteitstest uit te voeren voor een bepaalde dataset:

 #import necessary packages
from penguin 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)

De testresultaten zijn als volgt:

  • Teststatistiek Hz: 0,59569
  • p-waarde: 0,64618

Omdat de p-waarde van de test niet kleiner is dan onze gespecificeerde alfawaarde van 0,05, slagen we er niet in de nulhypothese te verwerpen. Aangenomen kan worden dat de dataset een multivariate normale verdeling volgt.

Gerelateerd: Leer in dit onderzoeksartikel hoe de Henze-Zirkler-test wordt gebruikt in medische toepassingen in de echte wereld.

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert