Bootstrap และ Standard Error
ลองนึกภาพอุทยานแห่งชาติแห่งหนึ่ง ซึ่งเจ้าหน้าที่พิทักษ์ป่าต้องเดินตรวจเส้นทางเดินป่าทุกวันเพื่อดูแลบำรุงรักษา แต่ละวันไม่ได้เดินเส้นทางเดิมเสมอไป แต่พวกเขาบันทึกระยะทางและเวลาที่ใช้ไว้ทุกครั้ง เราต้องการสร้างโมเดลทางสถิติเพื่ออธิบายความผันแปรของระยะทางที่เดินในแต่ละวัน โดยใช้ตัวอย่างข้อมูลจำกัดจากเจ้าหน้าที่คนหนึ่ง
เป้าหมายคือการใช้ bootstrap resampling โดยคำนวณค่าเฉลี่ยหนึ่งค่าสำหรับแต่ละ resample เพื่อสร้างการกระจายตัวของค่าเฉลี่ย แล้วคำนวณ standard error เพื่อวัด "ความไม่แน่นอน" ของ sample statistic ในฐานะตัวประมาณค่า population statistic
ใช้อาร์เรย์ sample_data ที่โหลดไว้ล่วงหน้า ซึ่งประกอบด้วยการวัดระยะทางที่เป็นอิสระต่อกัน 500 ครั้ง ในส่วนนี้เราใช้ชุดข้อมูลจำลองเพื่อให้เข้าใจบทเรียนได้ง่ายขึ้น และจะได้เห็นข้อมูลที่สมจริงยิ่งขึ้นในภายหลัง

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Linear Modeling in Python
คำแนะนำการฝึกหัด
กำหนดให้
sample_dataเป็นโมเดลแทนประชากรวนซ้ำ
num_resamplesครั้ง:- ใช้
np.random.choice()ในแต่ละรอบเพื่อสร้างbootstrap_sampleโดยกำหนดsize=resample_sizeจากpopulation_modelและระบุreplace=True - คำนวณและเก็บค่าเฉลี่ยของตัวอย่างในแต่ละรอบ
- ใช้
คำนวณและแสดง
np.mean()และnp.std()ของbootstrap_meansใช้ฟังก์ชัน
plot_data_hist()ที่กำหนดไว้แล้วเพื่อแสดงการกระจายตัวของbootstrap_means
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Use the sample_data as a model for the population
population_model = ____
# Resample the population_model 100 times, computing the mean each sample
for nr in range(num_resamples):
bootstrap_sample = np.random.____(population_model, size=____, replace=____)
bootstrap_means[nr] = np.____(bootstrap_sample)
# Compute and print the mean, stdev of the resample distribution of means
distribution_mean = np.mean(____)
standard_error = np.std(____)
print('Bootstrap Distribution: center={:0.1f}, spread={:0.1f}'.format(____, ____))
# Plot the bootstrap resample distribution of means
fig = plot_data_hist(____)