R'de çok değişkenli normallik testleri nasıl yapılır


Tek bir değişkenin normal dağılıp dağılmadığını test etmek istediğimizde, dağılımı görselleştirmek için bir QQ grafiği oluşturabilir veya Anderson Darling testi veya Jarque-Bera testi gibi resmi bir istatistiksel test gerçekleştirebiliriz.

Ancak birden fazla değişkenin grup halinde normal dağılıp dağılmadığını test etmek istediğimizde çok değişkenli normallik testi yapmamız gerekir.

Bu eğitimde, R’deki belirli bir veri kümesi için aşağıdaki çok değişkenli normallik testlerinin nasıl gerçekleştirileceği açıklanmaktadır:

  • Mardia’nın testi
  • Enerji testi
  • Çok değişkenli basıklık ve çarpıklık testleri

İlgili: Çok değişkenli bir bağlamda aykırı değerleri belirlemek istiyorsak Mahalanobis mesafesini kullanabiliriz.

Örnek: Mardia’nın R’deki testi

Mardia testi, bir grup değişkenin çok değişkenli normal dağılıma uyup uymadığını belirler. Testin sıfır ve alternatif hipotezleri aşağıdaki gibidir:

H 0 (boş): Değişkenler çok değişkenli normal dağılıma uygundur.

H a (alternatif): Değişkenler çok değişkenli normal dağılıma uymamaktadır .

Aşağıdaki kod, QuantPsyc paketini kullanarak bu testin R’de nasıl gerçekleştirileceğini gösterir:

 library (QuantPsyc)

#create dataset
set.seed(0)

data <- data.frame(x1 = rnorm(50),
                   x2 = rnorm(50),
                   x3 = rnorm(50))

#perform Multivariate normality test
mult.norm(data)$ mult.test

Beta-hat kappa p-val
Skewness 1.630474 13.5872843 0.1926626
Kurtosis 13.895364 -0.7130395 0.4758213

mult.norm() işlevi, veri kümesinin hem çarpıklığında hem de basıklığında çok değişkenli normalliği test eder. Her iki p değeri de 0,05’ten küçük olmadığından testin sıfır hipotezini reddedemiyoruz. Veri setimizdeki üç değişkenin çok değişkenli bir dağılım izlemediğine dair hiçbir kanıtımız yok.

Örnek: R’de enerji testi

Enerji testi, bir grup değişkenin çok değişkenli normal dağılıma uyup uymadığını belirleyen başka bir istatistiksel testtir. Testin sıfır ve alternatif hipotezleri aşağıdaki gibidir:

H 0 (boş): Değişkenler çok değişkenli normal dağılıma uygundur.

H a (alternatif): Değişkenler çok değişkenli normal dağılıma uymamaktadır .

Aşağıdaki kod, enerji paketini kullanarak bu testin R’de nasıl gerçekleştirileceğini gösterir:

 library (energy)

#create dataset
set.seed(0)

data <- data.frame(x1 = rnorm(50),
                   x2 = rnorm(50),
                   x3 = rnorm(50))

#perform Multivariate normality test
mvnorm.etest(data, R= 100 )

Energy test of multivariate normality: estimated parameters

data: x, sample size 50, dimension 3, replicates 100
E-statistic = 0.90923, p-value = 0.31

Testin p değeri 0,31’dir . Bu rakam 0,05’ten küçük olmadığı için testin sıfır hipotezini reddedemiyoruz. Veri setimizdeki üç değişkenin çok değişkenli bir dağılım izlemediğine dair hiçbir kanıtımız yok.

Not: R=100 bağımsız değişkeni, testi çalıştırırken kullanılacak 100 yükseltme eşlemeli kopyayı belirtir. Daha küçük örneklem boyutlarına sahip veri kümeleri için, test istatistiğine ilişkin daha güvenilir bir tahmin elde etmek amacıyla bu sayıyı artırabilirsiniz.

Ek kaynaklar

R’de QQ grafiği nasıl oluşturulur ve yorumlanır
R’de Anderson-Darling testi nasıl yapılır?
R’de Jarque-Bera testi nasıl yapılır
R’de Shapiro-Wilk testi nasıl yapılır

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir