ทำไมการเพิ่มขนาดตัวอย่างของการโยนเหรียญจึงไม่ทำให้การประมาณส่วนโค้งปกติดีขึ้น?


19

ฉันกำลังอ่านหนังสือสถิติ (ฟรีแมน, Pisani, Purves) และฉันพยายามสร้างตัวอย่างที่เหรียญถูกโยน 50 ครั้งจำนวนหัวนับและซ้ำ 1,000 ครั้ง

  1. ก่อนอื่นฉันเก็บจำนวนของการโยน (ขนาดตัวอย่าง) ที่ 1,000 และเพิ่มการซ้ำ ยิ่งมีการซ้ำซ้อนมากเท่าไหร่ข้อมูลก็จะยิ่งมีความโค้งมากขึ้นเท่านั้น

  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
สิ่งนี้มีประโยชน์ที่จะรู้และเพิ่มพูนความรู้ของฉันในวันนี้ ขอบคุณ!
Chris Snow

3
"Repetitions" คือ "ขนาดตัวอย่าง" ของคุณไม่ใช่การโยน การเพิ่มจำนวนการโยนเป็นสิ่งที่แตกต่าง
อังคาร

1
ขออภัยฉันคิดและคิดและคิด แต่ไม่สามารถใช้คำนั้นได้! แต่ในที่สุดมันก็ให้ 1 หมายเลข (จำนวนหัว) มันให้ 1 ตัวอย่าง
ดาวอังคาร

1
ฉันโพสต์คำถามใหม่ที่เน้นเฉพาะคำศัพท์: stats.stackexchange.com/questions/389892/…
Chris Snow

คำตอบ:


27

ในกรณีที่สองโดยการเพิ่มจำนวนของการโยนคุณเพิ่มจำนวนของถังขยะที่การทดลองครั้งเดียวสามารถตกอยู่ใน ในขณะที่กรณีแรกของการทดสอบ 2 มีเพียงสูงสุด 100 ถังขยะที่สามารถเติมได้ตัวอย่างสุดท้ายมี 10,000 ถังขยะ คุณเพิ่ม "การแก้ปัญหา" ของการทดสอบของคุณด้วยปัจจัย 100 (เช่นหนึ่งถังในการทดสอบครั้งแรกของคุณจะถูกแสดงด้วยประมาณ 100 ในวินาทีของคุณ) หลักสูตรนี้หมายความว่าคุณคาดหวังว่าจะต้องใช้ข้อมูลเพิ่มอีก 100 เท่าในการเติมถังขยะของคุณ


อ่าเหมาะสมแล้ว โดยการตั้งค่าจำนวนของถังขยะเป็น 35 ( _ = ax.hist(sums, bins=35, edgecolor='black', linewidth=1.2, density=True)) การทดลองที่สามในขณะนี้ใกล้เคียงกับเส้นโค้งปกติ
Chris Snow

5

คุณสามารถนึกถึงการโยนเหรียญเดี่ยว ๆ เป็นการทดลองใช้อย่างอิสระของเบอร์นูลลี การทดลองหนึ่งครั้งจะให้คุณหัว / ก้อยหรือสำเร็จ / ล้มเหลวตามลำดับ ถ้าคุณพูดซ้ำ 100,000 ครั้งจำนวนเฉลี่ยของหัวจะใกล้เคียงมากถึง 0.5 ถ้าเหรียญมีความยุติธรรม

ทีนี้ถ้าคุณเพิ่มจำนวนการทดลองเป็น 1,000 และทำซ้ำที่ 1 คุณจะได้ลำดับ 1,000 ครั้งที่สำเร็จ / ล้มเหลวและไม่สามารถพูดอะไรได้มากเกี่ยวกับความน่าจะเป็นในการสังเกตโดยเฉลี่ย 500 คนเว้นแต่ว่าคุณเพิ่มจำนวนการทดลองซ้ำ แต่ละการทดลองอิสระเหล่านั้น เมื่อจำนวนการทำซ้ำเพิ่มขึ้นคุณจะได้รับการประมาณที่ดีขึ้นและดีขึ้นสำหรับการแจกแจงแบบปกติ

สำหรับฉันมันง่ายกว่าที่จะนึกถึงการทดลองที่ไม่ใช่ "โยน" หรือ "ขนาดตัวอย่าง" แต่แทนที่จะแยกเหรียญและการทำซ้ำเป็นจำนวนการโยนของแต่ละเหรียญเหล่านั้น จากนั้นก็ทำให้รู้สึกโดยสัญชาตญาณว่าการเพิ่มจำนวนเหรียญ (หรือการทดลอง) ในขณะที่รักษาจำนวนซ้ำของค่าคงที่ (หรือการพลิก) ทั้งหมดการประมาณของข้อมูลในการแจกแจงแบบปกติจะแย่ลง


2

ฉันคิดว่าคำตอบอื่น ๆ ที่นี่ยอดเยี่ยม แต่ต้องการเพิ่มคำตอบที่ขยายไปยังเครื่องมือทางสถิติอื่น

คุณเริ่มต้นด้วยพื้นฐานที่คุณคิดว่าควรประมาณเส้นโค้งปกติแล้วไปจากที่นั่นเพื่อดูว่าคุณสามารถประมาณเส้นโค้งปกติได้ดีขึ้นหรือไม่ ลองไปอีกทิศทางหนึ่งแล้วดูว่าคุณสามารถทำอะไรได้บ้างเพื่อให้งานแย่ลงเมื่อประมาณ ลองจำลองสถานการณ์ที่คุณมีการโยน 10 ครั้งและซ้ำ 1,000 ครั้ง เปรียบเทียบสิ่งนี้กับแบบจำลองที่คุณมี 1,000 flips และ 10 repetitions มันควรจะชัดเจนว่ากรณีก่อนมีประมาณที่ดีกว่า

ส่วนขยายที่ฉันต้องการคือ ANOVA (การวิเคราะห์ความแปรปรวน) คุณเห็นนักวิทยาศาสตร์ข้อมูลใหม่จำนวนมากที่เข้าใจปัญหานี้ไม่ดีและออกแบบการศึกษาของพวกเขาเพื่อให้พวกเขามีจำนวนมากพลิก แต่ทำซ้ำไม่กี่ พวกเขามีข้อมูลจำนวนมาก แต่มันบอกว่าน้อยกว่าที่พวกเขาต้องการ เหมือนวัดทุกใบบนต้นไม้ แต่มีเพียงสองต้น เราสามารถพูดได้นิดหน่อยเกี่ยวกับใบไม้บนต้นไม้สองต้นนั้น แต่ไม่ใช่ใบไม้บนต้นไม้ทั่วไป คุณน่าจะดีกว่าถ้าได้รับใบไม้ที่มีขนาดเล็กกว่าและได้ต้นไม้มากมาย


ขอบคุณสำหรับคำตอบ คุณจะสามารถอธิบายเพิ่มเติมเกี่ยวกับวิธีการใช้ ANOVA ในบริบทนี้ได้หรือไม่?
Chris Snow

1
@ChrisSnow ANOVA เป็นมุมมองของการถดถอยเชิงเส้นที่เน้นว่ากลุ่มต่าง ๆ มีความจริงแตกต่างกันหรือไม่โดยดูที่ความแปรปรวน (ดังนั้นชื่อ) การเชื่อมต่อคือมีการทำซ้ำน้อยเกินไปคุณไม่สามารถบอกความแตกต่างระหว่างกลุ่มได้แม้ว่าคุณจะมีการพลิกมาก การประมาณเส้นโค้งปกติแย่มากและความแปรปรวนของแต่ละกลุ่มไม่แตกต่างกันมากพอที่จะสรุปได้ว่าจริงๆแล้วสิ่งต่าง ๆ นั้นแตกต่างกัน
Jeremy

1

ในการรับสัญชาติญาณเพิ่มเติมให้พิจารณาดังนี้

ลองนึกภาพคุณทำซ้ำเพียงครั้งเดียว

ในกรณีนี้คุณสามารถเพิ่มจำนวนของการโยนได้ตามที่คุณต้องการ แต่จะไม่คล้ายกับการแจกแจงแบบปกติ และนี่ก็สมเหตุสมผลแล้วเนื่องจากฮิสโตแกรมของคุณจะมีจุดสูงสุดเพียงจุดเดียว


การแจกแจงปกติคือการประมาณสำหรับการแจกแจงความน่าจะเป็น (ของการแจกแจงทวินาม)

สิ่งที่คุณไม่ได้สร้างการกระจายนี้ แต่คุณประมาณการกระจายนี้โดยใช้การจำลองจำนวน จำกัด (และเล็ก) (และสิ่งที่คุณค้นพบคือการประมาณนี้แย่ลงเมื่อคุณเพิ่มจำนวนของถังขยะในฮิสโตแกรม)


ดังนั้นคุณทั้งสองจึงต้องมีการทอยและการทำซ้ำจำนวนมาก

  • เมื่อจำนวนของการโยนสูงดังนั้นการแจกแจงแบบทวินาม (การโยนเหรียญหลายครั้ง) สามารถประมาณได้โดยการแจกแจงแบบปกติ
  • เมื่อจำนวนการทำซ้ำ / การจำลองสูงกว่าฮิสโตแกรมของการทดลองเหล่านี้ใกล้เคียงกับความหนาแน่นของการแจกแจงแบบทวินาม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.