Bootstrap replicates ของสถิติอื่น ๆ
จากแบบฝึกหัดก่อนหน้า เราพบว่าค่าเฉลี่ยมีการแจกแจงแบบปกติ (Normal distribution) แต่สถิติอื่น ๆ อาจไม่เป็นเช่นนั้นเสมอไป อย่างไรก็ตามในฐานะ hacker เราสามารถใช้ bootstrap replicates ได้เสมอ! ในแบบฝึกหัดนี้ จะสร้าง bootstrap replicates สำหรับความแปรปรวนของปริมาณน้ำฝนรายปีที่สถานีอุตุนิยมวิทยา Sheffield แล้วพล็อตฮิสโทแกรมของ replicates เหล่านั้น
แบบฝึกหัดนี้จะใช้ฟังก์ชัน draw_bs_reps() ที่นิยามไว้ในแบบฝึกหัดก่อนหน้า ซึ่งแสดงไว้ด้านล่างเพื่อใช้อ้างอิง:
def draw_bs_reps(data, func, size=1):
"""Draw bootstrap replicates."""
# Initialize array of replicates
bs_replicates = np.empty(size)
# Generate replicates
for i in range(size):
bs_replicates[i] = bootstrap_replicate_1d(data, func)
return bs_replicates
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Statistical Thinking in Python (ตอนที่ 2)
คำแนะนำการฝึกหัด
- สุ่ม bootstrap replicates จำนวน
10000ครั้งสำหรับ ความแปรปรวน ของปริมาณน้ำฝนรายปีในชุดข้อมูลrainfallโดยใช้ฟังก์ชันdraw_bs_reps()คำใบ้: ส่งnp.varเข้าไปเพื่อคำนวณความแปรปรวน - หาร variance replicates (
bs_replicates) ด้วย100เพื่อแปลงหน่วยของความแปรปรวนให้เป็นตารางเซนติเมตร - สร้างฮิสโทแกรมของ
bs_replicatesโดยใช้อาร์กิวเมนต์normed=Trueและกำหนดจำนวน bin เป็น50
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Generate 10,000 bootstrap replicates of the variance: bs_replicates
bs_replicates = ____
# Put the variance in units of square centimeters
____
# Make a histogram of the results
_ = plt.hist(____, ____, ____)
_ = plt.xlabel('variance of annual rainfall (sq. cm)')
_ = plt.ylabel('PDF')
# Show the plot
plt.show()