Vérifier la normalité de données multivariées

Lois de probabilité multivariée en R

Surajit Ray

Professor, University of Glasgow

Pourquoi vérifier la normalité ?

  • Techniques statistiques classiques supposant une normalité univariée/multivariée :
    • Régression multivariée
    • Analyse discriminante
    • Regroupement fondé sur un modèle
    • Analyse en composantes principales (ACP)
    • Analyse multivariée de la variance (MANOVA)
Lois de probabilité multivariée en R

Rappel : tests de normalité univariée

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

  • Si les valeurs suivent la ligne de référence, la distribution est proche de la normale
Lois de probabilité multivariée en R

Rappel : tests de normalité univariée

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

  • Si les valeurs suivent la ligne de référence, la distribution est proche de la normale

  • Un écart à la ligne peut indiquer

    • queues plus lourdes
    • asymétrie
    • valeurs aberrantes
    • données groupées
Lois de probabilité multivariée en R

qqnorm de toutes les variables

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

Lois de probabilité multivariée en R

Fonctions de test de normalité multivariée de la bibliothèque MVN

MVN version 5.9

  • Tests de normalité multivariée par

    • Mardia
    • Henze-Zirkler
    • Royston
  • Approches graphiques

    • Q-Q khi carré
    • perspective
    • courbes de niveau
Lois de probabilité multivariée en R

Fonctions de test de normalité multivariée de la bibliothèque MVN

  • Tests de normalité multivariée

    • Mardia $\checkmark$
    • Henze-Zirkler $\checkmark$
    • Royston
  • Approches graphiques

    • Q-Q khi carré $\checkmark$
    • perspective
    • courbes de niveau
Lois de probabilité multivariée en R

Utiliser le test de Mardia pour vérifier la normalité multivariée

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
Lois de probabilité multivariée en R

Utiliser le qqplot du test de Mardia pour vérifier la normalité multivariée

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

Lois de probabilité multivariée en R

Utiliser le test de Henze‑Zirkler pour vérifier la normalité multivariée

mvn(iris_raw[, 1:4],mvnTest = "hz")
$multivariateNormality
           Test  HZ p value MVN
1 Henze-Zirkler 2.3       0  NO
Lois de probabilité multivariée en R

Tester la normalité multivariée par espèce

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

Lois de probabilité multivariée en R

Passons à la pratique !

Lois de probabilité multivariée en R

Preparing Video For Download...