मैं बूटस्ट्रैप्ड प्रतिगमन ढलानों की तुलना कैसे करूं?


13

हमें मैं के साथ दो डेटा सेट है मान लेते हैं n की स्वतंत्र चर डेटा जोड़े की टिप्पणियों एक्स और निर्भर चर y प्रत्येक। आइए हम आगे यह मानें कि मैं प्रत्येक डेटा के लिए प्रतिगमन ढलानों का वितरण उत्पन्न करना चाहता हूं ताकि टिप्पणियों को बूटस्ट्रैप करके (प्रतिस्थापन के साथ) एन बार और प्रतिगमन y = a + bx की गणना कर सकें।हर बार। ढलानों को अलग-अलग कहने के लिए मैं दो वितरणों की तुलना कैसे करूं? डिस्ट्रीब्यूटर्स के मध्यस्थों के बीच अंतर का परीक्षण करने के लिए एक यू-टेस्ट एन पर बहुत अधिक निर्भर होगा, यानी जितनी बार मैं बूटस्ट्रैपिंग को दोहराता हूं उतना अधिक अंतर होगा। महत्वपूर्ण अंतर को निर्धारित करने के लिए मुझे वितरण के बीच ओवरलैप की गणना कैसे करनी है?

जवाबों:


19

बूटस्ट्रैपिंग नमूना वितरण की एक अधिक मजबूत तस्वीर प्राप्त करने के लिए की जाती है, जो कि बड़े नमूना सिद्धांत द्वारा ग्रहण की जाती है। जब आप बूटस्ट्रैप करते हैं, तो प्रभावी रूप से आपके द्वारा लिए गए `बूस्टेम्पल्स 'की संख्या की कोई सीमा नहीं होती है; वास्तव में आप नमूने के वितरण के लिए एक बेहतर सन्निकटन प्राप्त करते हैं जो आपके द्वारा लिए गए अधिक बूटलैम्पस हैं। बूटमैंस का उपयोग करना आम है , हालाँकि उस संख्या के बारे में कुछ भी जादुई नहीं है। इसके अलावा, आप बूब्स पर परीक्षण नहीं चलाते हैं; आपके पास नमूना वितरण का एक अनुमान है - इसे सीधे उपयोग करें। यहाँ एक एल्गोरिथ्म है:B=10,000

  1. प्रतिस्थापन के साथ बूट-अवलोकनों के नमूने द्वारा सेट किए गए एक डेटा का एक । [नीचे दी गई टिप्पणियों के संबंध में, एक प्रासंगिक सवाल यह है कि आपके बूटप्ले के लिए उपयोग करने के लिए एक वैध 'बूट-अवलोकन' क्या है। वास्तव में, कई वैध दृष्टिकोण हैं; मैं उन दो का उल्लेख करूंगा जो मजबूत हैं और आपको अपने डेटा की संरचना को प्रतिबिंबित करने की अनुमति देते हैं: जब आपके पास अवलोकन डेटा होता है (यानी, डेटा सभी आयामों पर नमूना लिया गया था, एक बूट-अवलोकन एक आदेशित n-tuple हो सकता है (जैसे, एक पंक्ति) आपके डेटा सेट से)। उदाहरण के लिए, यदि आपके पास एक चर और एक प्रतिक्रिया चर है, तो आप नमूनाn1n1 (x,y)मंगाए गए जोड़े। दूसरी ओर, जब प्रायोगिक डेटा के साथ काम करते हैं, तो भविष्यवक्ता चर मानों का नमूना नहीं लिया गया था, लेकिन प्रायोगिक इकाइयों को प्रत्येक पूर्वानुमान चर के इच्छित स्तरों को सौंपा गया था। इस तरह से एक मामले में, आप अपने चर के स्तरों में से प्रत्येक से मान का नमूना सकते हैं , फिर उन को उस पूर्वसूचक स्तर के संबंधित मान के साथ जोड़ सकते हैं । इस तरीके से, आप से अधिक नमूना नहीं लेंगे ।]n1j yjyX
  2. अपने प्रतिगमन मॉडल को फिट करें और ढलान अनुमान को स्टोर करें (इसे )β^1
  3. प्रतिस्थापन के साथ बूट-अवलोकनों के नमूने द्वारा सेट किए गए अन्य डेटा का एक बूटप्लांट लेंn2
  4. अन्य प्रतिगमन मॉडल को फिट करें और ढलान अनुमान को स्टोर करें (इसे )β^2
  5. दो अनुमानों से एक आँकड़ा (सुझाव: ढलान अंतर )β^1β^2
  6. स्टैटिस्टिक स्टोर करें और अन्य जानकारी को डंप करें ताकि मेमोरी को बर्बाद न करें
  7. दोहराएँ चरण 1 - 6, बारB=10,000
  8. ढलान अंतर के बूटस्ट्रैप्ड नमूनाकरण वितरण को सॉर्ट करें
  9. 0 ओवरलेप करने वाले bsd के% की गणना करें (जो भी छोटा हो, दाएं पूंछ% या बाईं पूंछ%)
  10. इस प्रतिशत को 2 से गुणा करें

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

कुछ लोग उपयोग करने के बारे में चिंता करते हैं, उदाहरण के लिए, ढलान का निर्धारण करने के लिए एक प्रतिगमन मॉडल यदि आप सामान्यता मानने के लिए तैयार नहीं हैं। हालांकि, यह चिंता गलत है। गॉस-मार्कोव प्रमेय हमें बताता है कि अनुमान निष्पक्ष है (यानी, वास्तविक मूल्य पर केंद्रित), इसलिए यह ठीक है। सामान्यता की कमी का मतलब है कि सही नमूना वितरण सैद्धांतिक रूप से प्रस्तुत एक से अलग हो सकता है, और इसलिए पी-मान अमान्य हैं। बूटस्ट्रैपिंग प्रक्रिया आपको इस समस्या से निपटने का एक तरीका देती है।

बूटस्ट्रैपिंग के संबंध में दो अन्य मुद्दे: यदि शास्त्रीय मान्यताओं को पूरा किया जाता है, तो बूटस्ट्रैपिंग एक पैरामीट्रिक परीक्षण की तुलना में कम कुशल (यानी, कम शक्ति) है। दूसरा, बूटस्ट्रैपिंग सबसे अच्छा काम करता है जब आप एक वितरण के केंद्र के पास खोज कर रहे हैं: साधन और मंझला अच्छा है, चतुर्थक इतना अच्छा नहीं है, न्यूनतम या अधिकतम बूटस्ट्रैपिंग विफल हो जाती है। पहले बिंदु के संबंध में, आपको अपनी स्थिति में बूटस्ट्रैप करने की आवश्यकता नहीं हो सकती है; दूसरे बिंदु के बारे में, ढलान को बूटस्ट्रैप करना पूरी तरह से ठीक है।


यद्यपि मैं अच्छी तरह से गलत हो सकता हूं, मैंने सोचा कि प्रतिगमन में बूटस्ट्रैप को कच्चे डेटा के बजाय अवशिष्ट पर होना चाहिए, मान्य किया जाना चाहिए ...
शीआन

@ शीआन, मैं अपने आप से पहले गलत हूं, लेकिन मुझे समझ नहीं आता कि आपको लगता है कि केवल बूटस्ट्रैपिंग अवशेष ही वैध है। एफ्रॉन एंड टिबशिरानी (1994) खंड 9.5 कहती है, "बूटस्ट्रैपिंग जोड़े बूटस्ट्रैपिंग अवशिष्ट की तुलना में मान्यताओं के प्रति कम संवेदनशील हैं। बूटस्ट्रैपिंग जोड़े द्वारा प्राप्त मानक त्रुटि, उचित उत्तर देती है भले ही [रैखिक मॉडल की संभावना संरचना] पूरी तरह से गलत हो।" निहितार्थ यह है कि बूटस्ट्रैप का अनुप्रयोग अधिक मजबूत है, हालांकि वे कहते हैं कि यह कुछ मामलों में कम कुशल हो सकता है।
गूँग - मोनिका

जोड़ों को बूटस्ट्रैप करने के साथ मेरी चिंता यह है कि आप भविष्यवाणियों के वितरण को भी शामिल करते हैं, जो आमतौर पर नियमित रैखिक मॉडल में चित्र के बाहर छोड़ दिया जाता है। इसलिए मैं हमेशा अपने छात्रों को केवल अवशिष्ट को बूटस्ट्रैप करना सिखाता हूं।
शीआन

@ शीआन, यह एक उचित बिंदु है, मुझे लगता है कि मैं एक अवलोकन डेटा संरचना मान रहा था। मैंने इन चिंताओं के बारे में और विस्तार से अपने जवाब को संपादित किया है। हालाँकि, मैं नहीं देखता कि यह कैसे पता चलता है कि बूटस्ट्रैपिंग जोड़े आवश्यक रूप से अमान्य हैं।
गूँग - मोनिका

डेटा के दो स्वतंत्र सेटों के बीच एक युग्मन मजबूर करना कृत्रिम और अक्षम है। आप इससे बहुत बेहतर कर सकते हैं!
whuber

4

आप दो डेटा सेट को एक प्रतिगमन में जोड़ सकते हैं। बता दें कि पहले डेटा सेट में होने के लिए एक संकेतक है। फिर प्रतिगमन : ध्यान दें कि की व्याख्या ढलानों से अंतर है। अलग-अलग प्रतिगमन: आप के वितरण को बूटस्ट्रैप कर सकते हैंsi

yi=β0+β1xi+β2si+β3sixi+ϵi
β3
E[yix,si=1]=(β0+β2)+(β1+β3)xiE[yix,si=0]=β0+β1xi.
β3यदि आप चाहते हैं या बस मानक परीक्षण प्रक्रियाओं (सामान्य / टी) का उपयोग करें। यदि विश्लेषणात्मक समाधानों का उपयोग करते हैं, तो आपको या तो समूहों में समरूपता या समरूपता के लिए सही मान लेना चाहिए। बूटस्ट्रैपिंग इस के लिए मजबूत होने के लिए, आपको पूरे समूह से बजाय समूह के बीच पहले समूह और बीच यादृच्छिक रूप से टिप्पणियों को चुनने की आवश्यकता है ।nn2n

यदि आपके पास त्रुटि की शर्तों के बीच सहसंबंध है, तो आपको इस प्रक्रिया को थोड़ा बदलना पड़ सकता है, इसलिए यदि ऐसा है तो वापस लिखें।

आप प्रतीत होता है असंबंधित regressions (SUR) ढांचे के लिए इस दृष्टिकोण को सामान्य कर सकते हैं। यह दृष्टिकोण अभी भी अवरोधन और ढलान के लिए गुणांक को दो डेटा सेटों में मनमाने ढंग से भिन्न होने की अनुमति देता है।


1
यह एक अच्छा विचार है। लेकिन यह भी नहीं मानता कि दो प्रतिगमन में ईआईडी त्रुटियां हैं?
whuber

1
अच्छी बात। इसके लिए आवश्यक है कि समूह द्वारा त्रुटियों के लिए अलग-अलग संस्करण न हों और विभिन्न समूहों में त्रुटियों का सहसंबंध न हो।
चार्ली

0

एक प्रतिगमन में सब कुछ करना साफ है, और स्वतंत्रता की धारणा महत्वपूर्ण है। लेकिन इस तरह से बिंदु अनुमानों की गणना के लिए निरंतर विचरण की आवश्यकता नहीं होती है। इस आर कोड की कोशिश करो;

x <- rbinom(100, 1, 0.5)
z <- rnorm(100)
y <- rnorm(100)
coef(lm(y~x*z))
coef(lm(y~z, subset= x==1))[1] - coef(lm(y~z, subset= x==0))[1]
coef(lm(y~z, subset= x==1))[2] - coef(lm(y~z, subset= x==0))[2]

हमें एक ही बिंदु का अनुमान है। मानक त्रुटि के अनुमानों के लिए निरंतर भिन्नता (जिसके आधार पर आप उपयोग करते हैं) की आवश्यकता हो सकती है, लेकिन यहां माना जाने वाला बूटस्ट्रैपिंग अनुमानित मानक त्रुटियों का उपयोग नहीं करता है।


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