Ověřování normality vícerozměrných dat

Multivariate Probability Distributions in R

Surajit Ray

Professor, University of Glasgow

Proč ověřovat normalitu?

  • Klasické statistické metody předpokládající jednorozměrnou/vícerozměrnou normalitu:
    • Vícerozměrná regrese
    • Diskriminační analýza
    • Shlukování na základě modelu
    • Analýza hlavních komponent (PCA)
    • Vícerozměrná analýza rozptylu (MANOVA)
Multivariate Probability Distributions in R

Opakování: testy jednorozměrné normality

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

  • Pokud hodnoty leží podél referenční přímky, rozdělení se blíží normálnímu
Multivariate Probability Distributions in R

Opakování: testy jednorozměrné normality

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

  • Pokud hodnoty leží podél referenční přímky, rozdělení se blíží normálnímu

  • Odchylka od přímky může naznačovat

    • těžké chvosty
    • šikmost
    • odlehlé hodnoty
    • shlukovaná data
Multivariate Probability Distributions in R

qqnorm všech proměnných

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

Multivariate Probability Distributions in R

Funkce knihovny MVN pro testy vícerozměrné normality

MVN verze 5.9

  • Testy vícerozměrné normality:

    • Mardia
    • Henze-Zirkler
    • Royston
  • Grafické přístupy

    • chi-kvadrát Q-Q
    • perspektivní
    • konturové grafy
Multivariate Probability Distributions in R

Funkce knihovny MVN pro testy vícerozměrné normality

  • Testy vícerozměrné normality:

    • Mardia $\checkmark$
    • Henze-Zirkler $\checkmark$
    • Royston
  • Grafické přístupy

    • chi-kvadrát Q-Q $\checkmark$
    • perspektivní
    • konturové grafy
Multivariate Probability Distributions in R

Ověřování vícerozměrné normality Mardiovým testem

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 Probability Distributions in R

Ověřování vícerozměrné normality pomocí qqplot z Mardiova testu

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

Multivariate Probability Distributions in R

Ověřování vícerozměrné normality Henze-Zirklerovým testem

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

Testování vícerozměrné normality podle druhu

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 Probability Distributions in R

Pojďme využít testy vícerozměrné normality!

Multivariate Probability Distributions in R

Preparing Video For Download...