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