R'de anderson-darling testi nasıl yapılır?


Anderson-Darling testi, verilerinizin belirli bir dağılıma ne kadar iyi uyduğunu ölçen bir uyum iyiliği testidir. Bu test çoğunlukla verilerinizin normal dağılıma uyup uymadığını belirlemek için kullanılır.

Bu test türü, regresyon, ANOVA, t testleri ve diğerleri de dahil olmak üzere birçok istatistiksel testte yaygın olarak kullanılan bir varsayım olan normalliği test etmek için kullanışlıdır.

Örnek: R’de Anderson-Darling testi

R’de Anderson-Darling testi gerçekleştirmek için nortest kütüphanesindeki ad.test() fonksiyonunu kullanabiliriz.

Aşağıdaki kod, 100 değerlik bir vektörün normal dağılıma uyup uymadığını test etmek için bir AD testinin nasıl gerçekleştirileceğini gösterir:

 #install (if not already installed) and load nortest library
install.packages('nortest')
library(nortest)

#make this example reproducible
set.seed(1)

#defined vector of 100 values that are normally distributed
x <- rnorm(100, 0, 1)

#conduct Anderson-Darling Test to test for normality
ad.test(x)

# Anderson-Darling normality test
#
#data:x
#A = 0.16021, p-value = 0.9471

Bu test iki değer döndürür:

A : test istatistiği.

p değeri : test istatistiğinin karşılık gelen p değeri.

AD testinin sıfır hipotezi, verilerin normal dağılıma uyduğudur . Dolayısıyla, eğer test için p-değerimiz anlamlılık düzeyimizden düşükse (ortak seçenekler 0,10, 0,05 ve 0,01’dir), o zaman boş hipotezi reddedebilir ve verilerimizin takip etmediğini iddia etmek için yeterli kanıtımız olduğu sonucuna varabiliriz. normal bir yörünge. dağıtım.

Bu durumda p değerimiz 0,9471 olur. Bu sayı bizim anlamlılık seviyemizin (diyelim ki 0,05) altında olmadığından, sıfır hipotezini reddetmek için yeterli kanıtımız yok. Verilerimizin normal bir dağılım izlediğini söylemek güvenlidir; R’deki rnorm() işlevini kullanarak ortalaması 0 ve standart sapması 1 olan normal bir dağılım izleyen 100 değer ürettiğimiz göz önüne alındığında bu mantıklıdır.

İlgili: R’de dnorm, pnorm, qnorm ve rnorm için bir kılavuz

Bunun yerine, 0 ile 1 arasında düzgün bir dağılım izleyen 100 değerden oluşan bir vektör oluşturduğumuzu varsayalım. Bu verinin normal bir dağılım izleyip izlemediğini görmek için tekrar bir AD testi çalıştırabiliriz:

 #make this example reproducible
set.seed(1)

#defined vector of 100 values that are uniformly distributed
x <- runif(100, 0, 1)

#conduct Anderson-Darling Test to test for normality
ad.test(x)

# Anderson-Darling normality test
#
#data:x
#A = 1.1472, p-value = 0.005086

A testi istatistiğimiz 1,1472’ye ve buna karşılık gelen p değeri 0,005086’ya eşittir. P değerimiz 0,05’ten küçük olduğundan sıfır hipotezini reddedebilir ve bu verilerin normal dağılım izlemediğini söylemek için yeterli kanıtımız olduğu sonucuna varabiliriz. Verilerimizin aslında tekdüze bir dağılım izlediğini bildiğimiz için beklediğimiz sonuç buydu.

R’de bir veri çerçevesinin bir sütunu üzerinde Anderson-Darling testinin yapılması

Ayrıca R’deki bir veri çerçevesinin belirli bir sütunu için bir AD testi gerçekleştirebiliriz. Örneğin, gömülü iris veri kümesini düşünün:

 #view first six lines of iris dataset
head(iris)

# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#1 5.1 3.5 1.4 0.2 setosa
#2 4.9 3.0 1.4 0.2 setosa
#3 4.7 3.2 1.3 0.2 setosa
#4 4.6 3.1 1.5 0.2 setosa
#5 5.0 3.6 1.4 0.2 setosa
#6 5.4 3.9 1.7 0.4 setosa

Petal.Width değişkeninin normal şekilde dağılıp dağılmadığını bilmek istediğimizi varsayalım. Değerlerin dağılımını görselleştirmek için öncelikle bir histogram oluşturabiliriz:

 hist(iris$Petal.Width, col = 'steelblue', main = 'Distribution of Petal Widths',
     xlab = 'Petal Width')

Veriler normal dağılıma sahip görünmüyor. Bunu doğrulamak için, verilerin normal şekilde dağıtılıp dağıtılmadığını resmi olarak test etmek üzere bir AD testi gerçekleştirebiliriz:

 #conduct Anderson-Darling Test to test for normality
ad.test(iris$Petal.Width)

# Anderson-Darling normality test
#
#data: iris$Petal.Width
#A = 5.1057, p-value = 1.125e-12

Testin p değeri 0,05’ten küçüktür, dolayısıyla sıfır hipotezini reddetmek ve Petal.Width’in normal bir dağılım izlemediği sonucuna varmak için yeterli kanıtımız var.

Yorum ekle

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