Küçük eval setleri regresyonu yakalayamaz: istatistiksel güç sorunu
40-50 örneklik eval setleri regresyonların çoğunu kaçırır. İstatistiksel güç, Wilson aralığı ve ikili kriterlerle doğru ölçüm nasıl yapılır?
Bir ekip, eval pass rate'i %87,5'ten %90'a çıkarınca bunu değişiklik günlüğüne 'prompt v3: +2 puan' olarak yazmış. Ancak set sadece 40 örnekten oluşuyordu ve bu 2 puanlık fark, tek bir test örneğinin geçer duruma dönmesinden ibaretti — istatistiksel gürültü içinde tamamen kaybolabilecek bir sinyal. Bu, eval odaklı geliştirmenin yaygın bir hatası: iki sayı arasındaki farkı görüp otomatik olarak bir neden atfetmek, ama farkın gürültü sınırları içinde olup olmadığını hiç sorgulamamak.
Yazı, işin merkezine istatistiksel gücü (statistical power) koyuyor: belirli bir büyüklükte gerçek bir farkı testin yakalama olasılığı. İki oranlı normal yaklaşımla hesaplandığında, %90'dan %85'e 5 puanlık bir düşüşü %80 güçle yakalamak için yaklaşık 253 örnek gerekiyor. 50 örneklik bir set bu düşüşü ancak %35 güçle, yani üç denemeden ikisinde kaçırarak yakalıyor; 100 örnekte güç yalızca yazı-tura seviyesine (%51) çıkıyor. Makale, standart kütüphane Python koduyla bu hesaplamayı kendi kendinize nasıl yapabileceğinizi de gösteriyor.
Daha fazla veri toplamak çoğu zaman maliyetli olduğundan, yazı üç pratik çözüm öneriyor: nokta tahmin yerine Wilson skor aralığı gibi bir güven aralığı raporlamak (özellikle 0,85-0,97 gibi sınır bölgelerde klasik Wald aralığı yanıltıcı olduğundan), 1-5 gibi belirsiz derecelendirmeler yerine kaynak gösterme veya format uyumu gibi ikili (binary) kriterler kullanmak, ve regresyon eşiğini koşu sonrasında değil önceden belirlemek. Paired tasarımlarda McNemar testi gibi daha az örnekle çalışan alternatifler de mevcut.
Mühendisler için pratik sonuç açık: eval setinizin boyutu, yakalamak istediğiniz etkiye göre planlanmalı, çıplak bir puan farkı yerine güven aralığıyla birlikte raporlanmalı ve değişiklik günlüklerindeki 'iyileşme' iddiaları bu çerçevede sorgulanmalı.