सिक्का फ्लिप्स के नमूने के आकार में वृद्धि सामान्य वक्र सन्निकटन में सुधार क्यों नहीं करती है?


19

मैं स्टैटिस्टिक्स (फ्रीमैन, पिसानी, पर्स) पुस्तक पढ़ रहा हूं और मैं एक उदाहरण को पुन: प्रस्तुत करने की कोशिश कर रहा हूं जहां एक सिक्का 50 बार बोला जाता है, सिर की संख्या गिना जाता है और यह 1,000 बार दोहराया जाता है।

  1. सबसे पहले, मैंने 1000 पर टॉस (नमूना आकार) की संख्या को रखा और पुनरावृत्ति को बढ़ाया। अधिक पुनरावृत्ति, बेहतर डेटा सामान्य वक्र को फिट करता है।

  2. इसलिए अगला, मैंने 1,000 पर तय किए गए पुनरावृत्ति की संख्या को बनाए रखने की कोशिश की और नमूना आकार में वृद्धि की। नमूना आकार जितना बड़ा होगा, डेटा को फिट करने के लिए सबसे खराब सामान्य घुमावदार लग रहा था। यह पुस्तक उदाहरण के लिए विरोधाभासी प्रतीत होता है जो नमूना आकार बढ़ने पर सामान्य वक्र को बेहतर बनाता है।

  3. मैं देखना चाहता था कि अगर मैं नमूना आकार बढ़ाता हूं, तो क्या होगा, लेकिन बड़ी संख्या में दोहराव के साथ जो कि 10,000 पर तय किए गए थे। यह पुस्तक के विपरीत भी प्रतीत होता है।

किसी भी विचार मैं गलत क्या कर रहा हूँ?

नीचे कोड और रेखांकन।

%matplotlib inline

def plot_hist(num_repetitions, num_tosses):
    tosses = np.random.randint(0, 2, size=[num_repetitions, num_tosses])
    sums = np.apply_along_axis(lambda a: np.sum(a == 1), 1, tosses)

    xmin, xmax = min(sums), max(sums)  
    lnspc = np.linspace(xmin, xmax, len(sums))

    m, s = stats.norm.fit(sums) # get mean and standard deviation  
    pdf_g = stats.norm.pdf(lnspc, m, s) # now get theoretical values in our interval  

    bins = np.arange(xmin, xmax) - 0.5
    step = int((xmax - xmin)/5)

    fig, ax = plt.subplots()
    _ = ax.hist(sums, bins, edgecolor='black', linewidth=1.2, density=True)
    _ = ax.plot(lnspc, pdf_g, label="Norm", color='red')
    _ = ax.set_xticks(bins[::step] + 0.5)
    _ = ax.set_title('{:,} tosses - {:,} repetitions'.format(num_tosses, num_repetitions))

1. पुनरावृत्ति की बढ़ती संख्या के साथ प्रयोग (1000 का निश्चित नमूना आकार)

plot_hist(1000, 1000)

यहाँ छवि विवरण दर्ज करें

plot_hist(10000, 1000)

यहाँ छवि विवरण दर्ज करें

plot_hist(100000, 1000)

यहाँ छवि विवरण दर्ज करें

2. नमूना आकार बढ़ाने के साथ प्रयोग (1000 पुनरावृत्तियों पर निर्धारित)

plot_hist(1000, 100)

यहाँ छवि विवरण दर्ज करें

plot_hist(1000, 1000)

यहाँ छवि विवरण दर्ज करें

plot_hist(1000, 10000)

यहाँ छवि विवरण दर्ज करें

3. नमूना आकार बढ़ाने के साथ प्रयोग (10,000 पुनरावृत्तियों पर निर्धारित)

plot_hist(10000, 100)

यहाँ छवि विवरण दर्ज करें

plot_hist(10000, 1000)

यहाँ छवि विवरण दर्ज करें

plot_hist(10000, 10000)

यहाँ छवि विवरण दर्ज करें

plot_hist(10000, 100000)

यहाँ छवि विवरण दर्ज करें


9
आपको एक बेहतर हिस्टोग्राम प्लॉटर की आवश्यकता है - यह विशेष रूप से खराब है और यह कलाकृतियों का निर्माण कर रहा है। बेहतर अभी तक, हिस्टोग्राम के बजाय एक संभावना प्लॉट के साथ वितरण की तुलना करें।
whuber

1
यह जानना उपयोगी है और आज मेरे ज्ञान में वृद्धि हुई है। धन्यवाद!
क्रिस स्नो

3
"दोहराव" आपका "नमूना आकार" है, न कि टॉस। टॉस की संख्या बढ़ाना कुछ अलग है
मंगल

1
क्षमा करें, मैंने सोचा और सोचा और सोचा, लेकिन उस शब्द के साथ नहीं हो सकता! लेकिन अंत में टॉस की संख्या की परवाह किए बिना, यह आपको 1 नंबर (सिर की संख्या) देता है। यह आपको 1 नमूना देता है।
मंगल

1
मैंने एक नया प्रश्न पोस्ट किया है जो सिर्फ शब्दावली पर केंद्रित है: आंकड़े.stackexchange.com/questions/389892/…
क्रिस स्नो

जवाबों:


27

दूसरे मामले में, टॉस की संख्या बढ़ाकर, आप डिब्बे की संख्या में वृद्धि करके एक एकल परीक्षण में गिर सकते हैं। जबकि प्रयोग 2 के पहले मामले में अधिकतम 100 डिब्बे होते हैं जिन्हें भरा जा सकता है, अंतिम उदाहरण में 10000 डिब्बे हैं। आपने अपने प्रयोग के "रिज़ॉल्यूशन" को एक कारक 100 से बढ़ा दिया (यानी, आपके पहले प्रयोग में एक बिन अब आपके दूसरे में लगभग 100 का प्रतिनिधित्व करता है)। बेशक इसका मतलब है कि आपको अपने डिब्बे को भरने के लिए एक कारक 100 से अधिक डेटा की आवश्यकता होगी।


आह, समझ में आता है। डिब्बे की संख्या को 35 पर सेट करके ( _ = ax.hist(sums, bins=35, edgecolor='black', linewidth=1.2, density=True)) तीसरा प्रयोग अब सामान्य वक्र का अनुमान लगाता है।
क्रिस स्नो

5

आप एक स्वतंत्र बर्नौली परीक्षण के रूप में एक अलग सिक्का फ्लिप के बारे में सोच सकते हैं। एक परीक्षण आपको क्रमशः सिर / पूंछ या सफलता / विफलता देगा। यदि आप इसे 1,00,000 बार दोहराते हैं, तो सिर की औसत संख्या 0.5 के करीब होगी, अगर सिक्का उचित है।

अब यदि आप परीक्षणों की संख्या 1,000 तक बढ़ाते हैं और पुनरावृत्ति को 1 पर रखते हैं, तो आपको 1,000 सफलताओं / असफलताओं का क्रम मिलेगा और अवलोकन की संभावना के बारे में बहुत कुछ नहीं कह सकते हैं, औसतन 500 सिर, जब तक आप दोहराव की संख्या नहीं बढ़ाते उन स्वतंत्र परीक्षणों में से प्रत्येक। जैसे ही पुनरावृत्ति की संख्या बढ़ती है, आपको सामान्य वितरण के लिए एक बेहतर और बेहतर सन्निकटन मिलेगा।

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


2

मुझे लगता है कि यहां अन्य उत्तर महान हैं, लेकिन एक ऐसा उत्तर जोड़ना चाहते हैं जो किसी अन्य सांख्यिकीय उपकरण तक फैला हो।

आप एक आधारभूत के साथ शुरू कर रहे हैं जो आपको लगता है कि आपको सामान्य वक्र को अनुमानित करना चाहिए, और फिर वहां से यह देखने के लिए कि क्या आप सामान्य वक्र को बेहतर रूप से समझ सकते हैं। दूसरी दिशा में जाने की कोशिश करें, और देखें कि आप क्या कर सकते हैं कि अंदाजा लगाने में और भी बुरा काम कर सकें। उन सिमुलेशन का प्रयास करें जहां आपके पास 10 फ़्लिप और 1000 पुनरावृत्ति हैं। इसकी तुलना उन सिमुलेशन से करें जहां आपके पास 1000 फ़्लिप और 10 पुनरावृत्ति हैं। यह स्पष्ट होना चाहिए कि पूर्व के मामले में बेहतर अनुमान है।

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


जवाब के लिए धन्यवाद। क्या आप विस्तार से बता पाएंगे कि इस संदर्भ में एनोवा का उपयोग कैसे किया जा सकता है?
क्रिस स्नो

1
@ChrisSnow ANOVA रेखीय प्रतिगमन में एक परिप्रेक्ष्य है जो इस बात पर ध्यान केंद्रित करता है कि क्या अलग-अलग समूह हैं, वास्तव में, विचरण को देखते हुए अलग हैं (इसलिए नाम)। कनेक्शन यह है कि बहुत अधिक दोहराव के साथ, आप वास्तव में समूहों के बीच अंतर नहीं बता सकते हैं, भले ही आपके पास बहुत सारे फ़्लिप हों। सामान्य वक्र का अनुमान खराब हो जाता है, और प्रत्येक समूह का विचरण इतना अलग नहीं होता है कि यह निष्कर्ष निकाला जा सके कि वास्तव में, कुछ भी अलग है।
जेरेमी

1

कुछ अतिरिक्त अंतर्ज्ञान प्राप्त करने के लिए निम्नलिखित पर विचार करें:

कल्पना कीजिए कि आप केवल एक ही पुनरावृत्ति करते हैं।

उस स्थिति में आप जितनी चाहे उतनी संख्या बढ़ा सकते हैं, लेकिन यह सामान्य वितरण जैसा नहीं है। और यह समझ में आता है क्योंकि आपका हिस्टोग्राम केवल एक ही चोटी रखने वाला है।


सामान्य वितरण संभाव्यता वितरण (द्विपद वितरण) के लिए एक अनुमान है।

आपने जो किया वह यह वितरण नहीं बना रहा था। लेकिन इसके बजाय, आपने सीमित (और छोटे) सिमुलेशन की संख्या का उपयोग करके इस वितरण का अनुमान लगाया है। (और आपने जो खोजा है वह यह है कि जब आप हिस्टोग्राम में डिब्बे की संख्या बढ़ाते हैं तो यह अनुमान बिगड़ जाता है)


तो आप दोनों को उच्च संख्या में टॉस और पुनरावृत्ति की आवश्यकता है।

  • जब tosses की संख्या अधिक होती है तो द्विपद वितरण (एकाधिक सिक्का tosses) को सामान्य वितरण द्वारा अनुमानित किया जा सकता है।
  • जब इन प्रयोगों के हिस्टोग्राम की तुलना में पुनरावृत्ति / सिमुलेशन की संख्या अधिक होती है, तो द्विपद वितरण के घनत्व का अनुमान लगाया जाता है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.