Перевірка нормальності багатовимірних даних

Багатовимірні ймовірнісні розподіли в R

Surajit Ray

Professor, University of Glasgow

Навіщо перевіряти нормальність?

  • Класичні методи, що передбачають уніваріантну/багатовимірну нормальність:
    • Багатовимірна регресія
    • Дискримінантний аналіз
    • Кластеризація на основі моделей
    • Аналіз головних компонент (PCA)
    • Багатовимірний дисперсійний аналіз (MANOVA)
Багатовимірні ймовірнісні розподіли в R

Огляд: тести уніваріантної нормальності

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

  • Якщо точки лежать уздовж опорної лінії, розподіл близький до нормального
Багатовимірні ймовірнісні розподіли в R

Огляд: тести уніваріантної нормальності

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

  • Якщо точки лежать уздовж опорної лінії, розподіл близький до нормального

  • Відхилення від лінії може вказувати на

    • важчі хвости
    • асиметрію
    • викиди
    • кластеризацію даних
Багатовимірні ймовірнісні розподіли в R

qqnorm для всіх змінних

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

Багатовимірні ймовірнісні розподіли в R

Функції тестів багатовимірної нормальності бібліотеки MVN

MVN версія 5.9

  • Тести багатовимірної нормальності за

    • Mardia
    • Henze-Zirkler
    • Royston
  • Графічні підходи

    • chi-square Q-Q
    • perspective
    • contour plots
Багатовимірні ймовірнісні розподіли в R

Функції тестів багатовимірної нормальності бібліотеки MVN

  • Тести багатовимірної нормальності

    • Mardia $\checkmark$
    • Henze-Zirkler $\checkmark$
    • Royston
  • Графічні підходи

    • chi-square Q-Q $\checkmark$
    • perspective
    • contour plots
Багатовимірні ймовірнісні розподіли в R

Перевірка багатовимірної нормальності тестом Mardia

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
Багатовимірні ймовірнісні розподіли в R

Використання qqplot з тесту Mardia для перевірки багатовимірної нормальності

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

Багатовимірні ймовірнісні розподіли в R

Перевірка багатовимірної нормальності тестом Henze–Zirkler

mvn(iris_raw[, 1:4],mvnTest = "hz")
$multivariateNormality
           Test  HZ p value MVN
1 Henze-Zirkler 2.3       0  NO
Багатовимірні ймовірнісні розподіли в R

Тестування багатовимірної нормальності за видами

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

Багатовимірні ймовірнісні розподіли в R

Скористаймося тестами на багатовимірну нормальність!

Багатовимірні ймовірнісні розподіли в R

Preparing Video For Download...