Saya sedang mengerjakan statistik untuk pembuatan perangkat lunak. Saya punya data untuk setiap build on pass / gagal dan waktu yang berlalu dan kami menghasilkan ~ 200 dari ini / minggu.
Tingkat keberhasilannya mudah untuk dikumpulkan, saya dapat mengatakan bahwa 45% lulus setiap minggu. Tapi saya juga ingin menggabungkan waktu yang telah berlalu, dan saya ingin memastikan saya tidak salah menggambarkan data terlalu buruk. Kupikir sebaiknya aku bertanya pada pro :-)
Katakanlah saya punya 10 durasi. Mereka mewakili kasus lulus dan gagal. Beberapa build gagal dengan segera, yang membuat durasinya singkat. Beberapa menggantung selama pengujian dan akhirnya waktu habis, menyebabkan durasi yang sangat lama. Kami membuat produk yang berbeda, sehingga pembuatan yang sukses pun bervariasi antara 90 detik dan 4 jam.
Saya mungkin mendapatkan satu set seperti ini:
[50, 7812, 3014, 13400, 21011, 155, 60, 8993, 8378, 9100]
Pendekatan pertama saya adalah untuk mendapatkan waktu rata-rata dengan menyortir set dan memilih nilai tengah, dalam kasus ini 7812 (saya tidak repot-repot dengan mean aritmatika untuk set genap.)
Sayangnya, ini sepertinya menghasilkan banyak variasi, karena saya hanya memilih satu nilai yang diberikan. Jadi jika saya tren nilai ini akan memantul antara 5000-10000 detik tergantung pada build yang berada di median.
Jadi untuk memuluskan hal ini, saya mencoba pendekatan lain - menghapus outlier dan kemudian menghitung rata-rata dari nilai yang tersisa. Saya memutuskan untuk membaginya menjadi tertile dan hanya bekerja di tengah:
[50, 60, 155, 3014, 7812, 8378, 8993, 9100, 13400, 21011] ->
[50, 60, 155], [3014, 7812, 8378, 8993], [9100, 13400, 21011] ->
[3014, 7812, 8378, 8993]
Alasan ini tampaknya lebih baik bagi saya adalah dua kali lipat:
- Kami tidak ingin ada tindakan pada build yang lebih cepat, mereka sudah baik-baik saja
- Build terpanjang kemungkinan disebabkan oleh timeout, dan akan selalu ada. Kami memiliki mekanisme lain untuk mendeteksi itu
Jadi sepertinya bagi saya bahwa ini adalah data yang saya cari, tetapi saya khawatir bahwa saya telah mencapai kehalusan dengan menghapus, yah, kebenaran.
Apakah ini kontroversial? Apakah metode ini waras?
Terima kasih!
Jawaban:
Pendekatan Anda masuk akal bagi saya, dengan mempertimbangkan tujuan Anda. Ini sederhana, mudah, menyelesaikan pekerjaan, dan Anda mungkin tidak ingin menulis makalah ilmiah tentang itu.
Satu hal yang harus selalu dilakukan seseorang dalam berurusan dengan outlier adalah untuk memahaminya , dan Anda sudah melakukan pekerjaan yang hebat tentang hal ini. Jadi cara yang mungkin untuk meningkatkan pendekatan Anda adalah: dapatkah Anda menggunakan info tentang bangunan mana yang menggantung? Anda menyebutkan bahwa Anda memiliki "mekanisme lain untuk mendeteksi itu" - dapatkah Anda mendeteksi dan kemudian hanya menghapusnya dari sampel?
Kalau tidak, jika Anda memiliki lebih banyak data, Anda bisa berpikir untuk menghapus bukan tertile, tetapi kuintil ... tetapi pada titik tertentu, ini kemungkinan tidak akan membuat banyak perbedaan.
sumber
Apa yang Anda lakukan dikenal sebagai pemangkas .
Seperti yang telah Anda lakukan, adalah umum untuk memotong proporsi yang sama dari setiap sisi (proporsi pemangkasan).
Anda dapat memotong apa saja antara 0% (rata-rata biasa) hingga (hampir) 50% (yang memberikan median). Contoh Anda telah dipangkas 30% dari masing-masing ujung.
Lihat jawaban ini dan artikel Wikipedia yang relevan .
[Sunting: Lihat diskusi bagus Nick Cox tentang topik ini.]
Ini adalah penaksir lokasi yang cukup masuk akal dan kuat. Biasanya dianggap lebih cocok untuk distribusi yang hampir simetris daripada yang sangat miring, tetapi jika sesuai dengan tujuan Anda * tidak ada alasan untuk tidak menggunakannya. Berapa yang terbaik untuk dipangkas tergantung pada jenis distribusi yang Anda miliki dan properti yang Anda cari.
* Tidak sepenuhnya jelas apa yang ingin Anda perkirakan di sini.
Ada sejumlah besar pendekatan kuat lainnya untuk merangkum 'pusat' distribusi, yang beberapa di antaranya mungkin berguna bagi Anda. (mis. M-estimator mungkin ada gunanya bagi Anda, mungkin)
[Jika Anda membutuhkan ukuran variabilitas yang sesuai untuk digunakan dengan mean Anda yang dipangkas, deviasi standar Winsorized mungkin berguna bagi Anda (pada dasarnya, saat menghitung sd, ganti nilai yang akan Anda potong ketika memotong dengan nilai paling ekstrim yang Anda miliki). tidak terputus).]
sumber
Namun metode lain adalah menghitung median dari semua rata-rata berpasangan atau melakukan bootstrap.
Memperbarui:
Median dari semua rata-rata berpasangan disebut penduga Hodges-Lehmann . Pengukur ini biasanya memiliki efisiensi tinggi. Entri ensiklopedia ini oleh Scott L. Hershberger mengatakan:
Bootstrap mungkin kurang relevan dan lebih intensif komputasi, tetapi Anda bisa mengambil sampel acak kecil data dengan penggantian dan menghitung rata-rata subsampel itu, melakukannya berkali-kali dan menghitung median dari semua cara.
Dalam kedua kasus Anda tidak lagi harus memilih nilai di antara nilai-nilai data Anda (ketika Anda menghitung median biasa), tetapi Anda memilih di antara banyak rata-rata dari himpunan bagian dari data.
sumber
Tampaknya masuk akal apa yang Anda lakukan: hanya untuk informasi saya cukup sering menggunakan proses berikut untuk tujuan yang sama: tapi saya hanya benar-benar tertarik pada Outliers Atas.
Hitung lima ringkasan angka: Min, Q1, Median, Q3, Max. Hitung Kisaran Interkuartil: Q3-Q1. Tetapkan 'pagar' outlier Anda di Q1-IQR * X, dan Q3 + IQR * X: di mana nilai wajar 'X' adalah 1,5.
Menggunakan Excel dan angka-angka Anda di atas (menggunakan 1,5 untuk 'X' **) menghasilkan satu outlier atas: 21011
Jadi pagar yang lebih rendah di sini tidak berguna atau realistis untuk contoh Anda sebenarnya: yang mendukung poin yang dibuat oleh pos lain mengenai pentingnya memahami makna data spesifik Anda.
(** Ditemukan satu kutipan untuk aturan '1.5': Saya tidak mengatakan itu otoritatif, tetapi tampaknya merupakan titik awal yang masuk akal bagi saya: http://statistics.about.com/od/Description-Statistics/a/ What-Is-The-Interquartile-Range-Rule.htm )
Anda juga dapat memutuskan (mungkin) hanya menggunakan poin data yang termasuk dalam IQR itu sendiri: ini tampaknya menghasilkan hasil yang masuk akal (dalam hal keanggotaan untuk metode Anda sangat mirip).
menggunakan data yang sama, ini akan menempatkan titik data berikut di 'area yang diminati':
Pada Boxplot: semua titik ini akan berada di dalam bagian kotak (bukan bagian kumis) dari diagram.
Di dapat dilihat bahwa daftar ini mencakup beberapa item yang tidak ada dalam daftar asli Anda (versi build yang lebih lama); Saya tidak dapat mengatakan apakah satu daftar lebih akurat dengan cara apa pun. (lagi, turun untuk memahami dataset Anda).
sumber