So führen sie multivariate normalitätstests in r durch


Wenn wir testen möchten, ob eine einzelne Variable normalverteilt ist oder nicht, können wir ein QQ-Diagramm erstellen, um die Verteilung zu visualisieren, oder 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 als Gruppe normalverteilt sind, müssen wir einen multivariaten Normalitätstest durchführen.

In diesem Tutorial wird erläutert, wie Sie die folgenden multivariaten Normalitätstests für einen bestimmten Datensatz in R durchführen:

  • Mardias Test
  • Energietest
  • Multivariate Kurtosis- und Schiefetests

Verwandt: Wenn wir Ausreißer in einem multivariaten Kontext identifizieren möchten, können wir die Mahalanobis-Distanz verwenden.

Beispiel: Mardias Test in R

Der Mardia-Test bestimmt, ob eine Gruppe von Variablen einer multivariaten Normalverteilung folgt oder nicht. Die Null- und Alternativhypothese des Tests lauten wie folgt:

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

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

Der folgende Code zeigt, wie dieser Test in R mit dem QuantPsyc- Paket durchgeführt wird:

 library (QuantPsyc)

#create dataset
set.seed(0)

data <- data.frame(x1 = rnorm(50),
                   x2 = rnorm(50),
                   x3 = rnorm(50))

#perform Multivariate normality test
mult.norm(data)$ mult.test

Beta-hat kappa p-val
Skewness 1.630474 13.5872843 0.1926626
Kurtosis 13.895364 -0.7130395 0.4758213

Die Funktion mult.norm() testet die multivariate Normalität sowohl bei der Schiefe als auch bei der Wölbung des Datensatzes. Da beide p-Werte nicht kleiner als 0,05 sind, können wir die Nullhypothese des Tests nicht ablehnen. Wir haben keine Hinweise darauf, dass die drei Variablen in unserem Datensatz keiner multivariaten Verteilung folgen.

Beispiel: Energietest in R

Ein Energietest ist ein weiterer statistischer Test, der bestimmt , ob eine Gruppe von Variablen einer multivariaten Normalverteilung folgt oder nicht. Die Null- und Alternativhypothese des Tests lauten wie folgt:

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

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

Der folgende Code zeigt, wie dieser Test in R mit dem Energiepaket durchgeführt wird:

 library (energy)

#create dataset
set.seed(0)

data <- data.frame(x1 = rnorm(50),
                   x2 = rnorm(50),
                   x3 = rnorm(50))

#perform Multivariate normality test
mvnorm.etest(data, R= 100 )

Energy test of multivariate normality: estimated parameters

data: x, sample size 50, dimension 3, replicates 100
E-statistic = 0.90923, p-value = 0.31

Der p-Wert des Tests beträgt 0,31 . Da dieser Wert nicht weniger als 0,05 beträgt, können wir die Nullhypothese des Tests nicht ablehnen. Wir haben keine Hinweise darauf, dass die drei Variablen in unserem Datensatz keiner multivariaten Verteilung folgen.

Hinweis: Das Argument R=100 gibt 100 Boost-Mapping-Replikate an, die beim Ausführen des Tests verwendet werden sollen. Bei Datensätzen mit kleineren Stichprobengrößen können Sie diese Zahl erhöhen, um eine zuverlässigere Schätzung der Teststatistik zu erhalten.

Zusätzliche Ressourcen

So erstellen und interpretieren Sie ein QQ-Diagramm in R
So führen Sie einen Anderson-Darling-Test in R durch
So führen Sie einen Jarque-Bera-Test in R durch
So führen Sie einen Shapiro-Wilk-Test in R durch

Einen Kommentar hinzufügen

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