Sprawdzanie normalności danych wielowymiarowych

Wielowymiarowe rozkłady prawdopodobieństwa w R

Surajit Ray

Professor, University of Glasgow

Dlaczego sprawdzać normalność?

  • Klasyczne techniki statystyczne zakładające normalność jedno-/wielowymiarową:
    • Regresja wielowymiarowa
    • Analiza dyskryminacyjna
    • Klastrowanie oparte na modelach
    • Analiza głównych składowych (PCA)
    • Wielowymiarowa analiza wariancji (MANOVA)
Wielowymiarowe rozkłady prawdopodobieństwa w R

Przypomnienie: testy normalności jednozmiennej

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

  • Jeśli wartości leżą wzdłuż linii odniesienia, rozkład jest bliski normalnemu
Wielowymiarowe rozkłady prawdopodobieństwa w R

Przypomnienie: testy normalności jednozmiennej

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

  • Jeśli wartości leżą wzdłuż linii odniesienia, rozkład jest bliski normalnemu

  • Odchylenie od linii może wskazywać na

    • cięższe ogony
    • skośność
    • wartości odstające
    • dane skupiskowe
Wielowymiarowe rozkłady prawdopodobieństwa w R

Wykres qqnorm dla wszystkich zmiennych

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

Wielowymiarowe rozkłady prawdopodobieństwa w R

Funkcje testów normalności wielowymiarowej w bibliotece MVN

MVN wersja 5.9

  • Testy normalności wielowymiarowej

    • Mardia
    • Henze-Zirkler
    • Royston
  • Podejścia graficzne

    • wykres Q-Q chi-kwadrat
    • wykres perspektywiczny
    • wykres konturowy
Wielowymiarowe rozkłady prawdopodobieństwa w R

Funkcje testów normalności wielowymiarowej w bibliotece MVN

  • Testy normalności wielowymiarowej

    • Mardia $\checkmark$
    • Henze-Zirkler $\checkmark$
    • Royston
  • Podejścia graficzne

    • wykres Q-Q chi-kwadrat $\checkmark$
    • perspektywiczny
    • konturowy
Wielowymiarowe rozkłady prawdopodobieństwa w R

Test Mardii do sprawdzania normalności wielowymiarowej

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
Wielowymiarowe rozkłady prawdopodobieństwa w R

Wykres qqplot z testu Mardii do sprawdzania normalności wielowymiarowej

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

Wielowymiarowe rozkłady prawdopodobieństwa w R

Test Henze-Zirklera do sprawdzania normalności wielowymiarowej

mvn(iris_raw[, 1:4],mvnTest = "hz")
$multivariateNormality
           Test  HZ p value MVN
1 Henze-Zirkler 2.3       0  NO
Wielowymiarowe rozkłady prawdopodobieństwa w R

Testowanie normalności wielowymiarowej według gatunków

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

Wielowymiarowe rozkłady prawdopodobieństwa w R

Wykorzystajmy testy normalności wielowymiarowej!

Wielowymiarowe rozkłady prawdopodobieństwa w R

Preparing Video For Download...