Cara menjalankan penguji grubbs di r
Uji Grubbs merupakan uji statistik yang dapat digunakan untuk mengidentifikasi keberadaan outlier pada suatu kumpulan data.
Untuk menggunakan pengujian ini, kumpulan data harus mempunyai distribusi mendekati normal dan memuat minimal 7 observasi.
Tutorial ini menjelaskan cara melakukan pengujian Grubbs di R untuk mendeteksi outlier dalam kumpulan data.
Contoh: Tes Grubbs di R
Untuk melakukan pengujian Grubbs di R, kita dapat menggunakan fungsi grubbs.test() dari paket Outliers , yang menggunakan sintaks berikut:
grubbs.test(x, ketik = 10, berlawanan = FALSE, dua sisi = FALSE)
Emas:
- x: vektor numerik dari nilai data
- ketik: 10 = uji apakah nilai max merupakan outlier, 11 = uji apakah nilai min dan max adalah outlier, 20 = uji apakah terdapat dua outlier pada satu ekor
- sebaliknya: logika yang menunjukkan apakah Anda ingin memeriksa bukan nilai dengan perbedaan terbesar dari rata-rata, tetapi sebaliknya (yang terendah, jika yang paling mencurigakan adalah yang tertinggi, dll.)
- bilateral: nilai logis yang menunjukkan apakah Anda harus memperlakukan tes ini sebagai bilateral atau tidak
Pengujian ini menggunakan dua hipotesis berikut:
H 0 (hipotesis nol): Tidak ada outlier dalam data.
H A (hipotesis alternatif): Terdapat outlier dalam data.
Contoh berikut mengilustrasikan cara melakukan pengujian Grubbs untuk menentukan apakah nilai maksimum dalam kumpulan data merupakan outlier:
#load Outliers package library(Outliers) #createdata data <- c(5, 14, 15, 15, 14, 13, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40) #perform Grubbs' Test to see if '40' is an outlier grubbs.test(data) # Grubbs test for one outlier # #data:data #G = 2.65990, U = 0.55935, p-value = 0.02398 #alternative hypothesis: highest value 40 is an outlier
Statistik uji dari tes ini adalah G = 2,65990 dan nilai p yang sesuai adalah p = 0,02398 . Karena nilai ini kurang dari 0,05, kami akan menolak hipotesis nol dan menyimpulkan bahwa nilai maksimum 40 adalah outlier.
Jika kita ingin menguji apakah nilai terendah “5” merupakan outlier, kita dapat menggunakan perintah sebaliknya=TRUE :
#perform Grubbs' Test to see if '5' is an outlier grubbs.test(data, opposite= TRUE ) # Grubbs test for one outlier # #data:data #G = 1.4879, U = 0.8621, p-value = 1 #alternative hypothesis: lowest value 5 is an outlier
Statistik ujinya adalah G = 1,4879 dan nilai p yang sesuai adalah p = 1 . Karena nilai ini tidak kurang dari 0,05, kita gagal menolak hipotesis nol. Kami tidak mempunyai cukup bukti untuk mengatakan bahwa nilai minimum “5” adalah outlier.
Terakhir, misalkan kita memiliki dua nilai besar di salah satu ujung kumpulan data: 40 dan 42. Untuk menguji apakah kedua nilai ini outlier, kita dapat melakukan pengujian Grubbs dan menentukan type=20 :
#create dataset with two large values at one end: 40 and 42 data <- c(5, 14, 15, 15, 14, 13, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40, 42) #perform Grubbs' Test to see if both 40 and 42 are outliers grubbs.test(data, type=20) # Grubbs test for two outliers # #data: data #U = 0.38111, p-value = 0.01195 #alternative hypothesis: highest values 40, 42 are outliers
Nilai p dari tes ini adalah 0,01195 . Karena nilai ini kurang dari 0,05, kita dapat menolak hipotesis nol dan menyimpulkan bahwa kita memiliki cukup bukti untuk mengatakan bahwa nilai 40 dan 42 keduanya outlier.
Cara menangani outlier
Jika pengujian Grubbs mengidentifikasi outlier dalam kumpulan data Anda, Anda memiliki beberapa opsi:
1. Periksa kembali apakah nilainya bukan kesalahan ketik atau kesalahan entri data. Terkadang nilai yang muncul sebagai outlier dalam kumpulan data hanyalah kesalahan ketik yang dilakukan oleh seseorang selama entri data. Kembali dan verifikasi bahwa nilai telah dimasukkan dengan benar sebelum membuat keputusan lebih lanjut.
2. Tetapkan nilai baru pada outlier . Jika outlier ternyata disebabkan oleh kesalahan ketik atau kesalahan entri data, Anda dapat memutuskan untuk memberinya nilai baru, misalnya mean atau median kumpulan data.
3. Hapus outlier. Jika nilainya benar-benar outlier, Anda dapat memilih untuk menghapusnya jika nilai tersebut akan berdampak signifikan pada analisis Anda secara keseluruhan.