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

แผ่นดินไหวครั้งใหญ่ครั้งต่อไปที่ Parkfield จะเกิดขึ้นเมื่อไร?

แผ่นดินไหวครั้งใหญ่ครั้งล่าสุดในบริเวณ Parkfield เกิดขึ้นในช่วงค่ำของวันที่ 27 กันยายน 2004 ตามเวลาท้องถิ่น ภารกิจของคุณคือประมาณการว่าแผ่นดินไหวครั้งต่อไปที่ Parkfield จะเกิดขึ้นเมื่อไร โดยใช้ทั้งโมเดล Exponential และโมเดล Gaussian ในทั้งสองกรณี ค่าประมาณที่ดีที่สุดคือค่าเฉลี่ยของช่วงเวลา ซึ่งคำนวณไว้ในแบบฝึกหัดที่แล้วได้ 24.62 ปี หมายความว่าแผ่นดินไหวครั้งต่อไปจะเกิดขึ้นในปี 2029 จงคำนวณช่วงความเชื่อมั่น 95% สำหรับเวลาที่คาดว่าแผ่นดินไหวครั้งต่อไปจะเกิดขึ้น โดยสมมติว่าเป็นการแจกแจงแบบ Exponential ที่กำหนดพารามิเตอร์ด้วย mean_time_gap ที่คำนวณไว้ แล้วทำเช่นเดียวกันโดยสมมติว่าเป็นการแจกแจงแบบ Normal ที่กำหนดพารามิเตอร์ด้วย mean_time_gap และ std_time_gap

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

กรณีศึกษาด้านการคิดเชิงสถิติ

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สุ่มตัวอย่าง 100,000 ค่าจากการแจกแจงแบบ Exponential โดยมีค่าเฉลี่ยเท่ากับ mean_time_gap แล้วเก็บผลลัพธ์ไว้ในตัวแปร exp_samples
  • สุ่มตัวอย่าง 100,000 ค่าจากการแจกแจงแบบ Normal โดยมีค่าเฉลี่ยเท่ากับ mean_time_gap และส่วนเบี่ยงเบนมาตรฐานเท่ากับ std_time_gap แล้วเก็บผลลัพธ์ไว้ในตัวแปร norm_samples
  • เนื่องจากยังไม่มีแผ่นดินไหวที่ Parkfield จนถึงปัจจุบัน ให้ตัดเฉพาะตัวอย่างที่มีค่ามากกว่า today - last_quake โดยที่ today คือปีปัจจุบันในรูปแบบทศนิยม และ last_quake = 2004.74 คือปีของแผ่นดินไหวครั้งล่าสุดที่ Parkfield ในรูปแบบเดียวกัน จากนั้นนำอาร์เรย์ที่ตัดแล้วไปบันทึกทับตัวแปร exp_samples และ norm_samples ตามลำดับ
  • ใช้ np.percentile() คำนวณช่วงความเชื่อมั่น 95% สำหรับเวลาที่แผ่นดินไหวครั้งต่อไปที่ Parkfield จะเกิดขึ้น และในการเรียกฟังก์ชันเดียวกัน สามารถคำนวณค่ามัธยฐานได้พร้อมกันโดยรวม percentile ที่ 50 เข้าไปด้วย

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Draw samples from the Exponential distribution: exp_samples
exp_samples = ____

# Draw samples from the Normal distribution: norm_samples
norm_samples = ____

# No earthquake as of today, so only keep samples that are long enough
exp_samples = ____[____ > ____ - ____]
norm_samples = ____[____ > ____ - ____]

# Compute the confidence intervals with medians
conf_int_exp = ____(____, [____, ____, ____]) + last_quake
conf_int_norm = ____(____, [____, ____, ____]) + last_quake

# Print the results
print('Exponential:', conf_int_exp)
print('     Normal:', conf_int_norm)
แก้ไขและรันโค้ด