Ini mungkin tampak kontra-intuitif, tetapi menggunakan pendekatan yang Anda gambarkan tidak masuk akal (untuk mengambil kata-kata Anda, saya lebih suka menulis "dapat menyebabkan hasil yang sangat berbeda dari yang dimaksudkan") dan orang tidak boleh melakukannya: risiko dari itu tidak berfungsi adalah konsekuensi dan selain itu, ada alternatif yang lebih sederhana, lebih aman dan lebih mapan tersedia tanpa biaya tambahan.
Pertama, memang benar bahwa jika ada outlier tunggal , maka Anda akhirnya akan menemukannya menggunakan prosedur yang Anda sarankan. Namun, secara umum (ketika mungkin ada lebih dari satu pencilan tunggal dalam data), algoritma yang Anda sarankan benar-benar rusak, dalam arti berpotensi menuntun Anda untuk menolak titik data yang baik sebagai pencilan atau mempertahankan pencilan sebagai titik data yang baik dengan konsekuensi yang berpotensi bencana.
Di bawah ini, saya memberikan contoh numerik sederhana di mana aturan yang Anda usulkan rusak dan kemudian saya mengusulkan alternatif yang jauh lebih aman dan lebih mapan, tetapi sebelum ini saya akan menjelaskan a) apa yang salah dengan metode yang Anda usulkan dan b) apa yang biasanya disukai alternatif untuk itu.
Intinya, Anda tidak dapat menggunakan jarak pengamatan dari mean one out mean dan standar deviasi data Anda untuk mendeteksi outlier dengan andal karena estimasi yang Anda gunakan (tinggalkan one mean out dan standar deviasi) masih cenderung ditarik ke arah yang tersisa. outlier: ini disebut efek masking.
Singkatnya, satu cara sederhana untuk mendeteksi outlier secara andal adalah dengan menggunakan ide umum yang Anda sarankan (jarak dari estimasi lokasi dan skala) tetapi mengganti estimator yang Anda gunakan (biarkan satu out mean, sd) dengan yang kuat - yaitu, estimasi dirancang agar tidak terlalu rentan terombang-ambing oleh outlier.
Perhatikan contoh ini, di mana saya menambahkan 3 pencilan ke 47 pengamatan asli yang diambil dari Normal 0,1:
n <- 50
set.seed(123) # for reproducibility
x <- round(rnorm(n,0,1), 1)
x[1] <- x[1]+1000
x[2] <- x[2]+10
x[3] <- x[3]+10
Kode di bawah ini menghitung indeks outlyingness berdasarkan rata-rata cuti satu dan standar deviasi (misalnya pendekatan yang Anda sarankan).
out_1 <- rep(NA,n)
for(i in 1:n){ out_1[i] <- abs( x[i]-mean(x[-i]) )/sd(x[-i]) }
dan kode ini menghasilkan plot yang Anda lihat di bawah.
plot(x, out_1, ylim=c(0,1), xlim=c(-3,20))
points(x[1:3], out_1[1:3], col="red", pch=16)
Gambar 1 menggambarkan nilai indeks outlyingness Anda sebagai fungsi dari nilai pengamatan (yang paling jauh dari outlier berada di luar kisaran plot ini tetapi dua lainnya ditampilkan sebagai titik merah). Seperti yang Anda lihat, kecuali yang paling ekstrem, indeks outlyingness yang dibangun seperti yang Anda sarankan akan gagal mengungkapkan outlier: memang outlier kedua dan ketiga (lebih ringan) sekarang bahkan memiliki nilai (pada indeks outlyingness Anda) lebih kecil dari semuapengamatan asli! ... Di bawah pendekatan yang Anda sarankan, seseorang akan menjaga dua pencilan ekstrim ini dalam rangkaian pengamatan asli, mengarahkan Anda untuk menggunakan 49 pengamatan yang tersisa seolah-olah mereka berasal dari proses homogen yang sama, memberi Anda hasil akhir Perkiraan mean dan sd berdasarkan 49 poin data ini dari 0,45 dan 2,32, deskripsi yang sangat buruk dari kedua bagian sampel Anda!
xsayaX
O ( xsaya, X) = | xsaya- med ( X) |mad (X)
med (X)Xmad (X)
Dalam R, indeks keterpaduan kedua ini dapat dihitung sebagai:
out_2 <- abs( x-median(x) )/mad(x)
dan diplot (seperti sebelumnya) menggunakan:
plot(x, out_2, ylim=c(0,15), xlim=c(-3,20))
points(x[1:3], out_2[1:3], col="red", pch=16)
Gambar 2 memplot nilai indeks keterpaduan alternatif ini untuk set data yang sama. Seperti yang Anda lihat, sekarang ketiga outlier jelas terungkap. Selain itu, aturan deteksi pencilan ini memiliki beberapa sifat statistik yang mapan. Ini mengarah, antara lain, ke aturan cut-off yang dapat digunakan. Misalnya, jika bagian asli dari data dapat diasumsikan diambil dari distribusi simetris dengan momen kedua terbatas, Anda dapat menolak semua titik data yang
| xsaya- med ( X) |mad (X)> 3.5
sebagai outlier. Dalam contoh di atas, penerapan aturan ini akan mengarahkan Anda untuk menandai dengan benar pengamatan 1,2 dan 3. Menolak ini, mean dan sd dari pengamatan yang tersisa adalah 0,021 dan 0,93 secara reseptif, deskripsi yang jauh lebih baik dari bagian asli sampel. !