Yazılım derlemeleri için istatistikler üzerinde çalışıyorum. Başarılı / başarısız ve geçen süre için her yapı için veri var ve biz bu / hafta ~ 200 üretiyoruz.
Başarı oranının toplanması kolaydır,% 45'inin herhangi bir hafta geçtiğini söyleyebilirim. Ancak geçen süreyi de toplamak istiyorum ve verileri çok kötü bir şekilde yanlış tanıtmadığımdan emin olmak istiyorum. Profesyonellere sorsam iyi olur :-)
Diyelim ki 10 sürem var. Hem başarılı hem de başarısız durumları temsil ederler. Bazı yapılar derhal başarısız olur, bu da süresi olağandışı bir şekilde kısa yapar. Bazıları test sırasında takılır ve zaman aşımına uğrar ve çok uzun sürelere neden olur. Farklı ürünler üretiyoruz, bu nedenle başarılı yapılar bile 90 saniye ile 4 saat arasında değişiyor.
Böyle bir set alabilirim:
[50, 7812, 3014, 13400, 21011, 155, 60, 8993, 8378, 9100]
İlk yaklaşımım kümeyi sıralayarak ve orta değeri alarak medyan zamanı elde etmekti, bu durumda 7812 (çift sayılı kümeler için aritmetik ortalama ile uğraşmadım.)
Ne yazık ki, bu sadece bir varyasyon oluşturuyor gibi görünüyor, çünkü sadece bir değer seçiyorum. Bu değeri eğilimleseydim, hangi yapının medyanda olduğuna bağlı olarak 5000-10000 saniye arasında sıçrardı.
Bunu düzeltmek için başka bir yaklaşım denedim - aykırı değerleri kaldırın ve kalan değerler üzerinde bir ortalama hesaplayın. Onu tertillere ayırmaya karar verdim ve sadece ortada çalıştım:
[50, 60, 155, 3014, 7812, 8378, 8993, 9100, 13400, 21011] ->
[50, 60, 155], [3014, 7812, 8378, 8993], [9100, 13400, 21011] ->
[3014, 7812, 8378, 8993]
Bunun benim için daha iyi görünmesinin nedeni iki misli:
- Daha hızlı yapılarda herhangi bir işlem istemiyoruz, zaten iyi durumdalar
- En uzun yapılar muhtemelen zaman aşımına bağlıdır ve her zaman orada olacaktır. Bunları tespit etmek için başka mekanizmalarımız var
Bana öyle geliyor ki aradığım veri bu, ama gerçeği kaldırarak pürüzsüzlük elde ettiğimden endişeliyim.
Bu tartışmalı mı? Yöntem aklı başında mı?
Teşekkürler!