Multivariate Tests auf Normalverteilung in Python

Von Fabian
Kategorie: Python
Lesezeit: 2 Minuten

Wenn wir testen möchten, ob eine einzelne Variable normal verteilt ist oder nicht, können wir ein QQ-Diagramm zur Visualisierung der Verteilung erstellen oder wir können einen formalen statistischen Test wie einen Anderson-Darling-Test oder einen Jarque-Bera-Test durchführen.

Wenn wir jedoch testen möchten, ob mehrere Variablen normal als Gruppe verteilt sind oder nicht, müssen wir einen multivariaten Test auf Normalverteilung durchführen.

In diesem Tutorial wird erläutert, wie der multivariate Henze-Zirkler-Normalitätstest für einen bestimmten Datensatz in Python durchgeführt wird.

Verwandte Themen: Wenn wir Ausreißer in einer multivariaten Umgebung identifizieren möchten, können wir den Mahalanobis-Abstand verwenden.

Beispiel: Henze-Zirkler Multivariater Normalitätstest in Python

Der multivariate Henze-Zirkler-Test auf Normalverteilung bestimmt, ob eine Gruppe von Variablen einer multivariaten Normalverteilung folgt oder nicht. Die Null- und Alternativhypothesen für den Test lauten wie folgt:

H 0 (null): Die Variablen folgen einer multivariaten Normalverteilung.

H a (alternativ): Die Variablen folgen keiner multivariaten Normalverteilung.

Um diesen Test in Python durchzuführen, können wir die Funktion multivariate_normality() aus der Pingouin-Bibliothek verwenden.

Zuerst müssen wir Pingouin installieren:

pip install pingouin

Als Nächstes können wir die Funktion multivariate_normality() importieren und damit einen multivariaten Test auf Normalität für einen bestimmten Datensatz durchführen:

# notwendige Pakete importieren
from pingouin import multivariate_normality
import pandas as pd
import numpy as np

#Erstellen Sie einen Datensatz mit drei Variablen x1, x2 und x3
df = pd.DataFrame({'x1':np.random.normal(size=50),
                   'x2': np.random.normal(size=50),
                   'x3': np.random.normal(size=50)})

# Führen Sie den multivariaten Henze-Zirkler-Normalitätstest durch
df = pd.DataFrame({'x1':np.random.normal(size=50),
                   'x2': np.random.normal(size=50),
                   'x3': np.random.normal(size=50)})

Die Testergebnisse sind wie folgt:

  • HZ-Teststatistik: 0,59569
  • p-Wert: 0,64618

Da der p-Wert des Tests nicht kleiner als unser angegebener Alpha-Wert von 0,05 ist, können wir die Nullhypothese nicht ablehnen. Es kann angenommen werden, dass der Datensatz einer multivariaten Normalverteilung folgt.

Verwandte Themen: In diesem Forschungsbericht erfahren Sie, wie der Henze-Zirkler-Test in medizinischen Anwendungen in der Praxis eingesetzt wird.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: