Menemukan pencilan tanpa mengasumsikan distribusi normal

8

Saya memiliki kumpulan data berukuran 40-50 poin. Tanpa berasumsi bahwa data terdistribusi normal, saya ingin mencari tahu outlier dengan kepercayaan setidaknya 90%. Saya pikir boxplot bisa menjadi cara yang baik untuk melakukan itu tetapi saya tidak yakin.

Setiap bantuan dihargai.

Juga dengan implementasi boxplot saya tidak dapat menemukan implementasi yang selain menggambar plot secara eksplisit meludahkan outlier.

Abhi
sumber
7
90% kepercayaan akan apa?
Henry
Yang kadang saya lihat juga adalah bahwa para peneliti menjatuhkan X% atas dan bawah dari pengamatan mereka untuk mengurangi pengaruh kasus-kasus ekstrem. Tapi saya tidak yakin apakah saya setuju dengan itu, cukup sewenang-wenang bukan?
C. Pieters
Anda tidak harus berasumsi bahwa data Anda terdistribusi normal, tetapi karena Anda tahu data apa yang Anda hadapi, Anda mungkin dapat menggunakan distribusi parametrik lain. Misalnya, waktu tunggu sering didistribusikan Poisson. Maka masuk akal untuk mengatakan apakah satu titik data Poisson kemungkinan dihasilkan oleh distribusi yang diberikan dari mereka.
Jack Tanner

Jawaban:

22

Itu karena algoritma seperti itu tidak ada. Anda memerlukan distribusi yang diasumsikan untuk dapat mengklasifikasikan sesuatu sebagai berada di luar kisaran nilai yang diharapkan.

Bahkan jika Anda berasumsi distribusi normal, menyatakan titik data sebagai pencilan adalah bisnis yang penuh. Secara umum, Anda tidak hanya memerlukan estimasi yang baik dari distribusi yang sebenarnya, yang sering kali tidak tersedia, tetapi juga alasan yang didukung secara teoritis untuk membuat keputusan Anda (yaitu subjek yang entah bagaimana memecahkan pengaturan eksperimental). Penilaian seperti itu biasanya tidak mungkin dikodifikasikan dalam suatu algoritma.

tidak ada apa-apa101
sumber
11
+1. Juga, penggunaan "dengan kepercayaan 90%" mengungkapkan kesalahpahaman tentang bagaimana konsep kepercayaan dapat diterapkan dalam kasus ini. Tanpa dasar untuk tingkat kepercayaan, tidak ada cara sistematis untuk mengukur tingkat kepercayaan yang mungkin dimiliki seseorang. Itu akan berubah menjadi hal yang sewenang-wenang, seolah-olah orang mengatakan, "Saya yakin sekali bahwa sup ini terlalu asin."
rolando2
5
@ rolando2, begitulah adanya, tapi tetap saja, saya 90% yakin itu komentar yang bagus.
gung - Reinstate Monica
6

Ini tidak langsung menjawab pertanyaan Anda, tetapi Anda dapat belajar sesuatu dari melihat outliersdataset dalam TeachingDemospaket untuk R dan mengerjakan contoh-contoh di halaman bantuan. Ini mungkin memberi Anda pemahaman yang lebih baik tentang beberapa masalah dengan deteksi pencilan otomatis.

Greg Snow
sumber
2

R akan memuntahkan outlier seperti pada

dat <- c(6,8.5,-12,1,rnorm(40),-1,10,0)
boxplot(dat)$out

yang akan menggambar boxplot dan memberi

[1]   6.0   8.5 -12.0  10.0
Henry
sumber
2
Tidak - definisi default "outlier" untuk boxplot adalah lebih dari di bawah engsel bawah atau kuartil atau di atas atas engsel atau kuartil lebih tinggi, di mana adalah kisaran interkuartil. Karena asimetri biasanya akan mempengaruhi posisi relatif kuartil dan median, Anda tidak bisa mengatakan ini mengasumsikan distribusi simetris. Untuk sesuatu seperti distribusi eksponensial, Anda biasanya hanya akan melihat outlier di kelas atas, tetapi ini adalah apa yang Anda harapkan. 1.5IQR1.5IQRIQR
Henry
4
Perlu dicatat bahwa menemukan poinadalah sesuatu yang harus diharapkan terjadi cukup sering, dan tidak selalu menunjukkan masalah. >|1.5IQR|
gung - Reinstate Monica
5
@ung: Ini adalah melampaui kuartil, jadi sekitar dari median untuk distribusi simetris. Ini juga tergantung pada apa yang Anda maksud dengan "cukup sering" dan distribusi: hampir tidak pernah untuk sampel dari distribusi yang seragam; sekitar 0,7% sampel dari distribusi normal; sekitar 5% untuk sampel dari distribusi eksponensial; sekitar 16% untuk sampel dari distribusi Cauchy. 1.5IQR2IQR
Henry
1
Saya ingat pernah melihat makalah singkat tentang ini beberapa waktu yang lalu, tentu saja saya tidak dapat menemukannya sekarang, tapi inilah pemikiran saya: saya mulai dengan 2*(1-pnorm(4*qnorm(.75))), yang mengembalikan [1] 0.006976603, nilai yang Anda laporkan di atas, tetapi kemudian saya mensimulasikan sebagai berikut: Set.seed(1); out = c(); for(i in 1:100) x = rnorm(50) y = boxplot(x, plot=F) out[i] = length(y$out)>=1} sum(out)/100yang kembali [1] 0.3. Yaitu, 30% sampel w / akan menunjukkan memiliki outlier dengan metode ini, meskipun sebenarnya tidak ada. n=50
gung - Reinstate Monica
1
@ung: set.seed(1); out = c(); for(i in 1:100) {x = rnorm(500); y = boxplot(x, plot=F); out[i] = length(y$out)}; sum(out)/50000memberi 0.00738yang lebih dekat dengan apa yang saya gambarkan
Henry
1

Seperti yang orang lain katakan, Anda menyatakan pertanyaan itu buruk dalam hal kepercayaan. Ada tes statistik untuk pencilan seperti tes Grubbs dan uji rasio Dixon yang telah saya sebutkan pada posting lain. Mereka menganggap distribusi populasi normal meskipun uji Dixon kuat dengan asumsi normalitas dalam sampel kecil. Boxplot adalah cara informal yang bagus untuk melihat outlier dalam data Anda. Biasanya kumis ditetapkan pada persentil ke-5 dan ke-95 dan pengamatan di luar kumis biasanya dianggap sebagai pencilan yang mungkin terjadi. Namun ini tidak melibatkan pengujian statistik formal.

Michael R. Chernick
sumber
2
Mengatur kumis pada persentil tetap ini tampak aneh bagi saya. Apakah Anda punya referensi untuk ini? (Tukey, yang berasal dari boxplot, tidak menggunakan metode ini: ia mengatur kumis di ekstrem, jika mereka cukup dekat dengan kuartil, tetapi tidak lebih dari 1,5 "langkah" (sama dengan sekitar 1,5 kali IQR) keluar dari kuartil.) Ini jauh lebih kuat untuk deteksi outlier daripada menggunakan persentil ekstrem, yang - menurut definisi - akan selalu mengidentifikasi 10% data sebagai "outlier," yang tidak akan menjadi prosedur yang sangat berguna.
whuber
Saya tidak tahu apakah saya seharusnya mengatakannya biasanya. Saya pikir banyak poin berbeda telah digunakan untuk kumis. Saya pikir persentil ke-1 dan ke-99 juga telah digunakan dan min dan maks. Tetapi jika Anda menggunakan min dan max Anda tidak dapat menemukan outlier di luar kumis. Saya tidak memiliki referensi khusus yang muncul di benak saya saat ini. Saya tidak bermaksud bahwa apa pun di luar kumis akan menjadi pencilan ketika persentil ke-5 dan ke-95 digunakan. Maksud saya, secara visual Anda dapat melihat mereka karena mereka akan jauh di atas atau di bawah kumis.
Michael R. Chernick