ความแปรปรวนในสถิติของกลุ่มตัวอย่าง
หากสร้างกลุ่มตัวอย่างหนึ่งชุดที่มี size=1000 โดยการดึงข้อมูลจำนวนเท่านั้นมาจากประชากร แล้วคำนวณสถิติของกลุ่มตัวอย่าง เช่น ค่าเฉลี่ย ก็จะได้ค่าเดียวที่สรุปกลุ่มตัวอย่างนั้น
หากทำกระบวนการสุ่มตัวอย่างซ้ำ num_samples=100 ครั้ง จะได้กลุ่มตัวอย่างทั้งหมด 100 ชุด การคำนวณสถิติของแต่ละกลุ่มตัวอย่าง เช่น ค่าเฉลี่ย จะให้การกระจายของค่าเฉลี่ย เป้าหมายคือการคำนวณค่าเฉลี่ยของค่าเฉลี่ยทั้งหมด และค่าเบี่ยงเบนมาตรฐานของค่าเฉลี่ยเหล่านั้น
ในแบบฝึกหัดนี้ให้ใช้ population, num_samples และ num_pts ที่โหลดไว้ล่วงหน้า โดย array means และ deviations ถูกกำหนดค่าเริ่มต้นเป็นศูนย์เพื่อใช้เป็นตัวเก็บข้อมูลสำหรับลูป
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Linear Modeling in Python
คำแนะนำการฝึกหัด
- สำหรับแต่ละรอบใน
num_samples=100ให้สร้างกลุ่มตัวอย่าง จากนั้นคำนวณและเก็บสถิติของกลุ่มตัวอย่างนั้น - ในแต่ละรอบ ให้สร้าง
sampleโดยใช้np.random.choice()เพื่อดึง1000จุดแบบสุ่มจากประชากร - ในแต่ละรอบ ให้คำนวณและเก็บผลของเมธอด
sample.mean()และsample.std()เพื่อหาค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐานของกลุ่มตัวอย่าง - สำหรับ array
meansและ arraydeviationsให้คำนวณทั้งค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐานของแต่ละ array แล้วแสดงผลลัพธ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Initialize two arrays of zeros to be used as containers
means = np.zeros(num_samples)
stdevs = np.zeros(num_samples)
# For each iteration, compute and store the sample mean and sample stdev
for ns in range(num_samples):
sample = np.____.choice(population, num_pts)
means[ns] = sample.____()
stdevs[ns] = sample.____()
# Compute and print the mean() and std() for the sample statistic distributions
print("Means: center={:>6.2f}, spread={:>6.2f}".format(means.mean(), means.std()))
print("Stdevs: center={:>6.2f}, spread={:>6.2f}".format(stdevs.____(), stdevs.____()))