Çok değişkenli verilerde normalliği kontrol etme

R'de Çok Değişkenli Olasılık Dağılımları

Surajit Ray

Professor, University of Glasgow

Neden normalliği kontrol etmelisin?

  • Tek/çok değişkenli normallik varsayan klasik yöntemler:
    • Çok değişkenli regresyon
    • Ayırma analizi
    • Modele dayalı kümeleme
    • Temel bileşenler analizi (PCA)
    • Çok değişkenli varyans analizi (MANOVA)
R'de Çok Değişkenli Olasılık Dağılımları

Gözden geçirme: tek değişkenli normallik testleri

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

  • Değerler referans çizgisi üzerindeyse dağılım normale yakındır
R'de Çok Değişkenli Olasılık Dağılımları

Gözden geçirme: tek değişkenli normallik testleri

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

  • Değerler referans çizgisi üzerindeyse dağılım normale yakındır

  • Çizgiden sapma şunlara işaret edebilir

    • daha ağır kuyruklar
    • çarpıklık
    • aykırı değerler
    • kümelenmiş veri
R'de Çok Değişkenli Olasılık Dağılımları

Tüm değişkenlerin qqnorm grafiği

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

R'de Çok Değişkenli Olasılık Dağılımları

MVN paketinde çok değişkenli normallik testleri

MVN sürüm 5.9

  • Çok değişkenli normallik testleri

    • Mardia
    • Henze-Zirkler
    • Royston
  • Grafiksel yaklaşımlar

    • ki-kare Q-Q
    • perspektif
    • kontur grafikler
R'de Çok Değişkenli Olasılık Dağılımları

MVN paketinde çok değişkenli normallik testleri

  • Çok değişkenli normallik testleri

    • Mardia $\checkmark$
    • Henze-Zirkler $\checkmark$
    • Royston
  • Grafiksel yaklaşımlar

    • ki-kare Q-Q $\checkmark$
    • perspektif
    • kontur grafikler
R'de Çok Değişkenli Olasılık Dağılımları

Çok değişkenli normallik için Mardia Testini kullanma

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'de Çok Değişkenli Olasılık Dağılımları

Çok değişkenli normalliği kontrol etmek için Mardia Testinden qqplot kullanma

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

R'de Çok Değişkenli Olasılık Dağılımları

Çok değişkenli normallik için Henze-Zirkler testi

mvn(iris_raw[, 1:4],mvnTest = "hz")
$multivariateNormality
           Test  HZ p value MVN
1 Henze-Zirkler 2.3       0  NO
R'de Çok Değişkenli Olasılık Dağılımları

Türlere göre çok değişkenli normallik testi

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'de Çok Değişkenli Olasılık Dağılımları

Haydi çok değişkenli normallik testlerini kullanalım!

R'de Çok Değişkenli Olasılık Dağılımları

Preparing Video For Download...