การคำนวณ b-value
b-value เป็นตัวชี้วัดทั่วไปสำหรับการวัดระดับแผ่นดินไหวในแต่ละภูมิภาค เมื่อทำงานกับข้อมูลแผ่นดินไหว เราจะต้องคำนวณค่านี้บ่อยครั้ง สำหรับงานที่ต้องทำซ้ำๆ เช่นนี้ การเขียนฟังก์ชันไว้ใช้งานถือเป็นแนวทางที่ดีที่สุด ดังนั้น ให้เขียนฟังก์ชันที่มี signature ว่า b_value(mags, mt, perc=[2.5, 97.5], n_reps=None) โดยให้คืนค่า b-value และช่วงความเชื่อมั่น (เป็น optional หาก n_reps ไม่ใช่ None) สำหรับชุดขนาดแผ่นดินไหว mags โดยที่ mt คือค่า completeness threshold และ perc คือ keyword argument ที่ระบุ percentile สำหรับขอบล่างและขอบบนของช่วงความเชื่อมั่น ส่วน n_reps คือจำนวน bootstrap replicates ที่ใช้ในการคำนวณช่วงความเชื่อมั่น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
กรณีศึกษาด้านการคิดเชิงสถิติ
คำแนะนำการฝึกหัด
- นิยามฟังก์ชันที่มี signature ว่า
b_value(mags, mt, perc=[2.5, 97.5], n_reps=None)ให้ทำตามขั้นตอนต่อไปนี้:- คัดเลือกขนาดแผ่นดินไหวจาก
magsที่มีค่าเท่ากับหรือสูงกว่า completeness thresholdmtโดยใช้ Boolean indexing แล้วเก็บผลลัพธ์ไว้ในตัวแปรm - คำนวณค่าประมาณที่ดีที่สุดของ b-value โดยจำไว้ว่าสูตรคือ b = (m - mt)·ln(10) แล้วเก็บผลลัพธ์ไว้ในตัวแปร
b - หาก
n_repsไม่ใช่ None ให้ดำเนินการดังนี้- ดึง bootstrap replicates ของค่าเฉลี่ยของ
mจำนวนn_repsครั้ง แล้วเก็บผลลัพธ์ไว้ในตัวแปรm_bs_reps - แปลง bootstrap replicates ของค่าเฉลี่ยของ
mให้เป็น replicates ของ b-value แล้วเก็บผลลัพธ์ไว้ในb_bs_reps - คำนวณช่วงความเชื่อมั่นจาก bootstrap replicates ของ b-value แล้วเก็บผลลัพธ์ไว้ใน
conf_int
- ดึง bootstrap replicates ของค่าเฉลี่ยของ
- คืนค่า
bและconf_intหรือคืนแค่bหากn_repsเป็นNone
- คัดเลือกขนาดแผ่นดินไหวจาก
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
____ ____:
"""Compute the b-value and optionally its confidence interval."""
# Extract magnitudes above completeness threshold: m
m = ____[____ >= ____]
# Compute b-value: b
b = ____
# Draw bootstrap replicates
if n_reps is None:
return b
else:
m_bs_reps = ____
# Compute b-value from replicates: b_bs_reps
b_bs_reps = (____ - ____) * ____
# Compute confidence interval: conf_int
conf_int = ____
return b, conf_int