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

การคำนวณ 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 threshold mt โดยใช้ 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
    • คืนค่า 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
แก้ไขและรันโค้ด