पाठ 7 / 29
दो संस्करणों की निष्पक्ष तुलना
उन्हीं मामलों पर paired तुलना करें और पूछें कि लाभ असली है या नहीं।
सिर्फ़ असहमतियाँ जानकारी रखती हैं
जब आप prompt A की तुलना prompt B से उन्हीं मामलों पर करते हैं, तो जिनमें दोनों पास या दोनों विफल हों वे नहीं बताते कि कौन बेहतर है। सारी जानकारी असहमतियों में है: जो A ने पास किए और B विफल, और उल्टा। Sign test पूछता है: यदि A और B वाक़ई बराबर अच्छे होते, तो कम से कम इतना असंतुलित बँटवारा कितना संभावित है? छोटा p-value (जैसे 0.05 से कम) असली अंतर सुझाता है। उदाहरण में 12 मामले सुधारना और 4 बिगाड़ना (p लगभग 0.08) सुझाव देता है पर निर्णायक नहीं; 25 सुधार बनाम 3 बिगाड़ मनवाने योग्य है। यह भी देखें कि लाभ और हानि कहाँ हैं: जो संस्करण औसत सुधारे पर महत्वपूर्ण श्रेणी (कोई भाषा, उच्च-मूल्य ग्राहक) बिगाड़े वह फिर भी बुरा सौदा हो सकता है। असली पलटे मामले हमेशा देखें।
असहमतियों पर sign test, चलाकर
मैंने यह सादे Python 3 (सिर्फ़ standard library) से चलाया। 12 जीत बनाम 4 हार के लिए सटीक दो-तरफ़ा p-value लगभग 0.077 है; 7 बनाम 5 के लिए 0.774 (शुद्ध शोर); 25 बनाम 3 के लिए लगभग 0.000027 (बहुत मनवाने योग्य)।
from math import comb
def sign_test_p(a_wins, b_wins):
"""Two-sided exact sign test on the cases where the two versions disagree."""
n = a_wins + b_wins
k = min(a_wins, b_wins)
p = 2 * sum(comb(n, i) for i in range(k + 1)) / 2 ** n
return min(1.0, p)
# 100 shared test cases. Disagreements only matter: v2 fixed 12 cases v1 failed, and broke 4 that v1 passed.
print("v2 better on 12, worse on 4 -> p =", round(sign_test_p(12, 4), 4))
print("v2 better on 7, worse on 5 -> p =", round(sign_test_p(7, 5), 4))
print("v2 better on 25, worse on 3 -> p =", round(sign_test_p(25, 3), 6))
Output:
v2 better on 12, worse on 4 -> p = 0.0768 v2 better on 7, worse on 5 -> p = 0.7744 v2 better on 25, worse on 3 -> p = 2.7e-05
पलटे मामले पढ़ें
जो असली मामले बदले उन्हें देखें; वे संख्या समझाते हैं।
त्वरित जाँच: Paired तुलना में कौन-से मामले बताते हैं कि कौन-सा संस्करण बेहतर है?
- जिनमें एक संस्करण पास और दूसरा विफल हो
- जिनमें दोनों पास हों
- जिनमें दोनों विफल हों
- सभी मामले बराबर
Answer
जिनमें एक संस्करण पास और दूसरा विफल हो — सहमति संस्करणों को अलग नहीं कर सकती; असहमतियाँ कर सकती हैं।