Cara melakukan tes anderson-darling di r
Tes Anderson-Darling adalah tes kesesuaian yang mengukur seberapa cocok data Anda dengan distribusi tertentu. Tes ini paling sering digunakan untuk menentukan apakah data Anda mengikuti distribusi normal atau tidak.
Jenis uji ini berguna untuk menguji normalitas, yang merupakan asumsi yang umum digunakan dalam banyak uji statistik, termasuk regresi, ANOVA, uji-t, dan banyak lainnya.
Contoh: Tes Anderson-Darling di R
Untuk melakukan pengujian Anderson-Darling di R, kita dapat menggunakan fungsi ad.test() di perpustakaan nortest .
Kode berikut mengilustrasikan cara melakukan pengujian AD untuk menguji apakah suatu vektor dengan nilai 100 mengikuti distribusi normal atau tidak:
#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
Tes ini mengembalikan dua nilai:
A : statistik pengujian.
p-value : nilai p yang sesuai dari statistik uji.
Hipotesis nol dari uji AD adalah data mengikuti distribusi normal. Jadi, jika nilai p kita untuk pengujian tersebut kurang dari tingkat signifikansi kita (pilihan umum adalah 0,10, 0,05, dan 0,01), maka kita dapat menolak hipotesis nol dan menyimpulkan bahwa kita mempunyai cukup bukti untuk menyatakan bahwa data kita tidak sesuai dengan hipotesis nol. lintasan normal. distribusi.
Dalam hal ini, nilai p kita adalah 0,9471. Karena angka ini tidak berada di bawah tingkat signifikansi kami (katakanlah 0,05), kami tidak memiliki cukup bukti untuk menolak hipotesis nol. Dapat dikatakan bahwa data kami mengikuti distribusi normal, yang masuk akal mengingat kami menghasilkan 100 nilai yang mengikuti distribusi normal dengan mean 0 dan deviasi standar 1 menggunakan fungsi rnorm() di R.
Terkait: Panduan untuk dnorm, pnorm, qnorm dan rnorm di R
Sebagai gantinya, misalkan kita menghasilkan vektor dengan 100 nilai yang mengikuti distribusi seragam antara 0 dan 1. Kita dapat menjalankan tes AD lagi untuk melihat apakah data ini mengikuti distribusi normal:
#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
Statistik uji A kami sama dengan 1,1472 dan nilai p yang sesuai sama dengan 0,005086. Karena nilai p kita kurang dari 0,05, kita dapat menolak hipotesis nol dan menyimpulkan bahwa kita mempunyai cukup bukti untuk mengatakan bahwa data ini tidak mengikuti distribusi normal. Ini adalah hasil yang kami harapkan karena kami mengetahui bahwa data kami sebenarnya mengikuti distribusi yang seragam.
Melakukan tes Anderson-Darling pada kolom bingkai data di R
Kita juga dapat melakukan pengujian AD untuk kolom tertentu pada bingkai data di R. Misalnya, pertimbangkan himpunan data iris yang tertanam:
#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
Misalkan kita ingin mengetahui apakah variabel Petal.Width terdistribusi normal. Pertama-tama kita dapat membuat histogram untuk memvisualisasikan distribusi nilai:
hist(iris$Petal.Width, col = 'steelblue', main = 'Distribution of Petal Widths', xlab = 'Petal Width')
Data tampaknya tidak terdistribusi secara normal. Untuk memastikannya, kita dapat melakukan pengujian AD untuk menguji secara formal apakah data terdistribusi normal atau tidak:
#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
Nilai p dari pengujian tersebut kurang dari 0,05, jadi kami memiliki cukup bukti untuk menolak hipotesis nol dan menyimpulkan bahwa Petal.Width tidak mengikuti distribusi normal.