पाठ 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

जिनमें एक संस्करण पास और दूसरा विफल हो — सहमति संस्करणों को अलग नहीं कर सकती; असहमतियाँ कर सकती हैं।