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!