เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

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(____)
แก้ไขและรันโค้ด