बेंजामिन-होचबर्ग, पी-वैल्यू या क्यू-वैल्यू के साथ कई परिकल्पना परीक्षण सुधार?


22

स्वतंत्र परीक्षणों से उत्पन्न पी-मूल्यों की एक सूची को देखते हुए, आरोही क्रम में क्रमबद्ध, एक कई परीक्षण सुधार के लिए बेंजामिनी-होचबर्ग प्रक्रिया का उपयोग कर सकता है । प्रत्येक पी-मूल्य के लिए, बेंजामिनी-होचबर्ग प्रक्रिया आपको प्रत्येक पी-मान के लिए झूठी डिस्कवरी दर (एफडीआर) की गणना करने की अनुमति देती है। यह है कि, पी-वैल्यू की क्रमबद्ध सूची में प्रत्येक "स्थिति" पर, यह आपको बताएगा कि उन लोगों के अनुपात में अशक्त परिकल्पना के गलत अस्वीकार होने की संभावना क्या है।

मेरा प्रश्न यह है कि क्या इन FDR मूल्यों को " q-मान ", या " सुधरे हुए p-मान ", या पूरी तरह से कुछ के रूप में संदर्भित किया जाना है ?

EDIT 2010-07-12: मैं उस सुधार प्रक्रिया का पूरी तरह वर्णन करना चाहूंगा जिसका हम उपयोग कर रहे हैं। सबसे पहले, हम परीक्षण के परिणामों को उनके संयुक्त राष्ट्र के मूल पी-मान से बढ़ते क्रम में क्रमबद्ध करते हैं। फिर, हम सूची पर पुनरावृत्ति करते हैं, गणना करते हैं कि मैं "एफडीआर के रूप में क्या व्याख्या कर रहा हूं" यदि हम इस के लिए अशक्त परिकल्पना को खारिज कर देते हैं और सूची में सभी परीक्षणों से पहले, "बीएच सुधार का उपयोग करते हुए, एक अल्फा के साथ अवलोकन के बराबर है।" , संबंधित पुनरावृत्ति के लिए अन-सुधारा पी-मान। हम तब लेते हैं, जैसा कि हम अपने "क्यू-मूल्य" को बुला रहे हैं, पहले से ठीक किए गए मूल्य का अधिकतम (पुनरावृति i पर FDR - 1) या वर्तमान मूल्य (i पर), एकरसता को संरक्षित करने के लिए।

नीचे कुछ पायथन कोड है जो इस प्रक्रिया का प्रतिनिधित्व करता है:

def calc_benjamini_hochberg_corrections(p_values, num_total_tests):
    """
    Calculates the Benjamini-Hochberg correction for multiple hypothesis
    testing from a list of p-values *sorted in ascending order*.

    See
    http://en.wikipedia.org/wiki/False_discovery_rate#Independent_tests
    for more detail on the theory behind the correction.

    **NOTE:** This is a generator, not a function. It will yield values
    until all calculations have completed.

    :Parameters:
    - `p_values`: a list or iterable of p-values sorted in ascending
      order
    - `num_total_tests`: the total number of tests (p-values)

    """
    prev_bh_value = 0
    for i, p_value in enumerate(p_values):
        bh_value = p_value * num_total_tests / (i + 1)
        # Sometimes this correction can give values greater than 1,
        # so we set those values at 1
        bh_value = min(bh_value, 1)

        # To preserve monotonicity in the values, we take the
        # maximum of the previous value or this one, so that we
        # don't yield a value less than the previous.
        bh_value = max(bh_value, prev_bh_value)
        prev_bh_value = bh_value
        yield bh_value

q-value के बारे में आपका संदर्भ projecteuclid.org/…
रॉबिन जिरार्ड

बेंजामिनी-होचबर्ग प्रक्रिया एफडीआर की गणना करने के लिए नहीं है, यह एफडीआर को नियंत्रित करने (पूर्वनिर्धारित सीमा के तहत रखने) के लिए है
रॉबिन जिरार्ड

आपका सवाल, जैसा कि यह खड़ा है, समझना मुश्किल है। "संदर्भित" से आपका क्या तात्पर्य है?
रॉबिन जिरार्ड

@robin आपकी टिप्पणियों के लिए बहुत धन्यवाद। मैं शब्दावली के अपने भ्रम के लिए माफी माँगता हूँ। मैंने अपनी सुधार प्रक्रिया का अधिक संपूर्ण विवरण शामिल करने के लिए प्रश्न को अपडेट किया है, इस उम्मीद में कि यह स्पष्टीकरण प्रदान करता है। मैंने q-value लिंक को भी अपडेट किया है; मुझे उस ओर इशारा करने के लिए धन्यवाद।
16

जवाबों:


17

जैसा कि रॉबिन ने कहा, आपको बेंजामिन-होचबर्ग पद्धति पीछे की ओर मिली है। उस पद्धति के साथ, आप Q (ऊपरी केस Q; अधिकतम वांछित FDR) के लिए एक मान सेट करते हैं और यह आपकी तुलना को दो बवासीर में क्रमबद्ध करता है। लक्ष्य यह है कि "खोज" ढेर में क्यू% की तुलना में कोई भी अधिक झूठ नहीं है, और इस प्रकार कम से कम 100% -Q% सत्य हैं।

यदि आपने प्रत्येक तुलना के लिए एक नया मान दिया है, जो कि क्यू का मूल्य है, जिस पर तुलना करना मुश्किल से एक खोज माना जाएगा, तो उन नए मूल्यों q-मान (कम मामले q; जॉन स्टोर द्वारा पेपर का लिंक देखें; मूल प्रश्न में)।


हम उनके अन-सही मूल पी-मान द्वारा बढ़ते हुए क्रम में परीक्षण के परिणाम को क्रमबद्ध करते हैं, फिर, सूची पर पुनरावृत्ति करते हुए, एफडीआर की गणना करते हैं कि क्या हम इसके लिए अशक्त परिकल्पना को अस्वीकार कर रहे हैं और सूची में पूर्व के सभी परीक्षण, BH का उपयोग कर रहे हैं एक अल्फा का उपयोग किए गए सुधार, गैर-सही पी-मूल्य के बराबर। हम तब लेते हैं, जैसा कि हम अपने "क्यू-मूल्य" को बुला रहे हैं, पहले से ठीक किए गए मूल्य का अधिकतम (पुनरावृत्ति पर एफडीआर i - 1) या वर्तमान मूल्य (पर i), एकरसता को संरक्षित करने के लिए। क्या यह ध्वनि आपके दूसरे पैराग्राफ में वर्णित प्रक्रिया की तरह है?
gotgenes
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.