Seberapa akurat IQR untuk mendeteksi outlier

11

Saya sedang menulis skrip yang menganalisis waktu proses yang dijalankan. Saya tidak yakin distribusi mereka tetapi saya ingin tahu apakah suatu proses berjalan "terlalu lama". Sejauh ini saya telah menggunakan 3 standar deviasi dari waktu menjalankan terakhir (n> 30), tetapi saya diberitahu bahwa ini tidak memberikan sesuatu yang berguna jika datanya tidak normal (yang sepertinya tidak ada). Saya menemukan tes pencilan lain yang menyatakan:

Temukan rentang antar kuartil, yaitu IQR = Q3 - Q1, di mana Q3 adalah kuartil ketiga dan Q1 adalah kuartil pertama. Kemudian temukan dua angka ini:

a) Q1 - 1.5 * IQR b) Q3 + 1.5 * IQR

Intinya adalah pencilan jika <a atau> b

Data saya cenderung seperti 2sec, 3sec, 2sec, 5sec, 300sec, 4sec, .... di mana 300sec jelas merupakan outlier.

Metode mana yang lebih baik? Metode IQR atau metode deviasi std?

chris bedd
sumber
4
Anda mungkin ingin memeriksa jawaban @ user603 di sini: apakah ada varian boxplot untuk data terdistribusi poisson untuk info tentang cara menyesuaikan aturan ini untuk data yang miring.
gung - Reinstate Monica
3
Metode "IQR" ini tidak pernah dimaksudkan untuk diterapkan secara membabi buta. Ini adalah bagian dari proses analisis data eksplorasi (seperti yang dijelaskan oleh Nick Cox dalam jawabannya) di mana Anda pertama kali akan menemukan cara untuk mengekspresikan kembali data untuk membuat mereka didistribusikan secara simetris.
whuber
2
Berdasarkan komentar Anda pada jawaban, jawaban yang benar adalah "tidak," karena kekhawatiran mendasar Anda bukan tentang outlier, ini tentang prosesnya.
whuber
Terkait: Mendeteksi outlier menggunakan standar deviasi adalah sisi lain dari pertanyaan ini
user56reinstatemonica8
Angka-angka itu time_taken sehingga mereka tidak akan pernah menjadi simetris kecuali jika Anda mengubah skala mereka entah bagaimana.
JP Bennett

Jawaban:

14

Benar-benar ada seluruh buku tentang outlier.

Jawaban spesifik yang biasa adalah bahwa standar deviasi ditarik oleh outlier, sehingga aturan berdasarkan SD dapat berkinerja buruk.

Aturan Tukey tentang kuartil +/- 1,5 IQR yang Anda kutip keluar dari pekerjaan tangan dengan kumpulan data berukuran kecil dan sedang di tahun 1970-an, dan dirancang untuk menunjukkan nilai yang mungkin ingin Anda pikirkan secara individual. Tidak jelas bahwa mereka terbawa ke dataset yang jauh lebih besar, atau bahwa mereka berlaku ketika Anda mengharapkan kemiringan yang cukup besar.

Jawaban yang lebih umum adalah aturan outlier itu bagus jika selalu membuat keputusan yang tepat, tetapi bagaimana Anda bisa tahu?

Ini adalah wilayah yang diperdebatkan, tetapi saya berharap pencilan akan menonjol pada grafik karena sangat berbeda dari yang lain. Tetapi seringkali (biasanya?) Panggilan yang sulit untuk memberi tahu perbedaan antara apa yang Anda harapkan dalam distribusi berekor berat dan apa yang terlalu liar untuk dianggap sebagai sesuatu selain pencilan. Kadang-kadang transformasi membuat tampilan yang lebih terlihat jauh lebih biasa.

Selain itu, jika Anda menggunakan metode yang kuat, Anda mungkin sedikit khawatir tentang nilai yang pantas disebut outlier, tetapi lebih khawatir tentang outlier secara umum.

Nick Cox
sumber
1

Anda mengatakan Anda tidak yakin dengan distribusi tetapi proses yang sedang berlangsung mudah dikumpulkan dan dinilai untuk distribusi. Cukup simpan beberapa kali dan analisislah. Mengingat kali Anda memposting Anda bisa mendapatkan banyak dalam beberapa jam.

Pencarian Anda untuk aturan outlier tidak perlu terlalu umum. Ini bisa spesifik untuk tugas Anda. Anda dapat mengumpulkan banyak data. Kumpulkan, periksa, dan putuskan kapan prosesnya terlalu lama. Mungkin pendekatan berbasis IQR akan bekerja tetapi Anda dapat menggunakan kumpulan data Anda, atau parameter parametrik, untuk melakukan simulasi dan melihat apakah itu bekerja dengan baik. Hal yang sama berlaku untuk SD. Mungkin saja> 50an terlalu lama dan hanya itu yang Anda butuhkan.

John
sumber
Saya mengumpulkan data pada beberapa proses. Mereka masing-masing mungkin memiliki distribusi yang berbeda. Saya hanya perlu cara sederhana untuk mengatakan "waktu berjalan terlalu bagus" untuk mengingatkan teknisi untuk melihat lebih jauh. Ini bisa bersifat umum selama ia menandai hal-hal yang harus ditandai. Jika beberapa kesalahan positif muncul, lakukan saja. Namun positif palsu harus dijaga seminimal mungkin karena jika ada terlalu banyak itu mengalahkan tujuan dari skrip dan saya harus membuang semua hasil dan membiarkan teknisi memilikinya. Tujuan naskah adalah untuk "mempersempit"
chris bedd
Anda dapat menilai apakah prosesnya sama atau berbeda. Jika mereka benar-benar sangat berbeda, beberapa aturan umum cenderung menyebabkan proses tertentu untuk memicu peringatan lebih sering daripada yang diperlukan. Informasi ini harus benar-benar ada dalam pertanyaan Anda.
John
3
Mengkarakterisasi masalah ini sebagai pencarian pencilan, chris, apakah itu ketidakadilan: Anda sebenarnya menangani masalah kontrol kualitas . Perbedaan utama adalah (1) Anda memiliki aliran data yang sedang berlangsung daripada dataset statis untuk dianalisis dan (2) Anda bermaksud menentukan tindakan periodik yang akan diambil sebagai hasil dari setiap analisis: yaitu, apakah akan melakukan intervensi (dan berupaya untuk meningkatkan proses) atau tidak (dan biarkan proses berjalan apa adanya). Memahami bahwa ini adalah sifat masalah Anda menunjukkan bahwa literatur besar tentang kontrol kualitas relevan, memberikan beragam solusi.
whuber
+1 @whuber. Pencilan tidak relevan di sini. Baik jangka waktu rata-rata, maupun persentilnya, tidak terkait dengan apa yang "terlalu lama". Cara untuk mengetahui apa yang "terlalu lama" mungkin dengan survei pengguna, atau cek dengan insinyur, atau hanya menebak-nebak, atau sesuatu yang lain, tapi itu bukan pertanyaan statistik.
Peter Flom - Reinstate Monica