Normalität multivariater Daten prüfen

Multivariate Wahrscheinlichkeitsverteilungen in R

Surajit Ray

Professor, University of Glasgow

Warum Normalität prüfen?

  • Klassische Verfahren, die uni-/multivariate Normalität annehmen:
    • Multivariate Regression
    • Diskriminanzanalyse
    • Modellbasierte Clusterung
    • Hauptkomponentenanalyse (PCA)
    • Multivariate Varianzanalyse (MANOVA)
Multivariate Wahrscheinlichkeitsverteilungen in R

Rückblick: univariate Normalitätstests

qqnorm(iris_raw[, 1])
qqline(iris_raw[, 1])

  • Liegen die Werte auf der Referenzlinie, ist die Verteilung nahe normal
Multivariate Wahrscheinlichkeitsverteilungen in R

Rückblick: univariate Normalitätstests

qqnorm(iris_raw[, 1])
qqline(iris_raw[, 1])

  • Liegen die Werte auf der Referenzlinie, ist die Verteilung nahe normal

  • Abweichungen von der Linie können auf {{1}} hinweisen

    • schwerere Tails
    • Schiefe
    • Ausreißer
    • geclusterte Daten
Multivariate Wahrscheinlichkeitsverteilungen in R

qqnorm für alle Variablen

mvn(iris_raw[, 1:4], univariatePlot = "qqplot")

Multivariate Wahrscheinlichkeitsverteilungen in R

MVN: Funktionen für multivariate Normalitätstests

MVN Version 5.9

  • Multivariate Normalitätstests nach

    • Mardia
    • Henze-Zirkler
    • Royston
  • Grafische Ansätze

    • Chi-Quadrat-Q-Q
    • Perspektive
    • Konturdiagramme
Multivariate Wahrscheinlichkeitsverteilungen in R

MVN: Funktionen für multivariate Normalitätstests

  • Multivariate Normalitätstests

    • Mardia $\checkmark$
    • Henze-Zirkler $\checkmark$
    • Royston
  • Grafische Ansätze

    • Chi-Quadrat-Q-Q $\checkmark$
    • Perspektive
    • Konturdiagramme
Multivariate Wahrscheinlichkeitsverteilungen in R

Mit dem Mardia-Test multivariate Normalität prüfen

mvn(iris_raw[, 1:4],mvnTest = "mardia")
$multivariateNormality 
             Test          Statistic              p value Result
1 Mardia Skewness   67.4305087780629 4.75799820400705e-07     NO
2 Mardia Kurtosis -0.230112114480775    0.818004651478188    YES
3             MVN               <NA>                 <NA>     NO
Multivariate Wahrscheinlichkeitsverteilungen in R

qqplot aus dem Mardia-Test zur Prüfung multivariater Normalität

 mvn(iris_raw[, 1:4],mvnTest = "mardia", multivariatePlot = "qq")

Multivariate Wahrscheinlichkeitsverteilungen in R

Mit dem Henze-Zirkler-Test multivariate Normalität prüfen

mvn(iris_raw[, 1:4],mvnTest = "hz")
$multivariateNormality
           Test  HZ p value MVN
1 Henze-Zirkler 2.3       0  NO
Multivariate Wahrscheinlichkeitsverteilungen in R

Multivariate Normalität nach Spezies testen

mvn(iris[iris$Species  == "setosa", 1:4], 
     mvnTest = "mardia",
     multivariatePlot = "qq")
$multivariateNormality
             Test        Statistic           p value Result
1 Mardia Skewness 25.6643445196298 0.177185884467652    YES
2 Mardia Kurtosis 1.29499223711605 0.195322907441935    YES
3             MVN             <NA>              <NA>    YES

Multivariate Wahrscheinlichkeitsverteilungen in R

Lass uns die Tests für multivariate Normalität nutzen!

Multivariate Wahrscheinlichkeitsverteilungen in R

Preparing Video For Download...