ฉันกำลังอ่านหนังสือสถิติ (ฟรีแมน, Pisani, Purves) และฉันพยายามสร้างตัวอย่างที่เหรียญถูกโยน 50 ครั้งจำนวนหัวนับและซ้ำ 1,000 ครั้ง
ก่อนอื่นฉันเก็บจำนวนของการโยน (ขนาดตัวอย่าง) ที่ 1,000 และเพิ่มการซ้ำ ยิ่งมีการซ้ำซ้อนมากเท่าไหร่ข้อมูลก็จะยิ่งมีความโค้งมากขึ้นเท่านั้น
ต่อไปฉันพยายามรักษาจำนวนการทำซ้ำที่ 1,000 และเพิ่มขนาดตัวอย่าง ยิ่งขนาดตัวอย่างใหญ่ขึ้นเท่าไหร่โค้งที่แย่ที่สุดก็ดูเหมือนจะพอดีกับข้อมูล สิ่งนี้ดูเหมือนจะขัดแย้งกับตัวอย่างหนังสือซึ่งใกล้เคียงกับเส้นโค้งปกติมากขึ้นเมื่อขนาดตัวอย่างเพิ่มขึ้น
ฉันต้องการดูว่าจะเกิดอะไรขึ้นถ้าฉันเพิ่มขนาดตัวอย่าง แต่ด้วยจำนวนการทำซ้ำที่มากขึ้นซึ่งกำหนดไว้ที่ 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)