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

การประมาณช่วงเวลาระหว่างแผ่นดินไหวสำหรับ Parkfield

ในแบบฝึกหัดนี้ จะเริ่มต้นด้วยการคำนวณค่าประมาณที่ดีที่สุดของพารามิเตอร์สำหรับโมเดล Exponential และ Gaussian ของช่วงเวลาระหว่างแผ่นดินไหว จากนั้นพล็อต CDF เชิงทฤษฎีของแต่ละโมเดล พร้อมกับ ECDF จริงของช่วงเวลาระหว่างแผ่นดินไหวที่ Parkfield

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

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

ดูคอร์ส

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

  • คำนวณค่าเฉลี่ยของช่วงเวลาระหว่างแผ่นดินไหว แล้วเก็บไว้ในตัวแปร mean_time_gap โดยช่วงเวลาระหว่างแผ่นดินไหวขนาดใหญ่แต่ละครั้ง (หน่วยเป็นปี) ถูกเก็บไว้ใน time_gap
  • คำนวณส่วนเบี่ยงเบนมาตรฐานของช่วงเวลาระหว่างแผ่นดินไหว แล้วเก็บไว้ในตัวแปร std_time_gap
  • ใช้ np.random.exponential() เพื่อสุ่มตัวอย่าง 10,000 ค่าจากการแจกแจงแบบ Exponential ที่มีค่าเฉลี่ยที่เหมาะสม แล้วเก็บไว้ในตัวแปร time_gap_exp
  • ใช้ np.random.normal() เพื่อสุ่มตัวอย่าง 10,000 ค่าจากการแจกแจงแบบ Normal ที่มีค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานที่เหมาะสม แล้วเก็บไว้ในตัวแปร time_gap_norm
  • พล็อต CDF เชิงทฤษฎีทีละบรรทัด โดยใช้แนวทาง *dcst.ecdf() ที่แนะนำไว้ก่อนหน้าในบทนี้
  • พล็อต ECDF โดยใช้ keyword arguments formal=True, min_x=-10 และ max_x=50

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

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

# Compute the mean time gap: mean_time_gap
mean_time_gap = ____

# Standard deviation of the time gap: std_time_gap
std_time_gap = ____

# Generate theoretical Exponential distribution of timings: time_gap_exp
time_gap_exp = ____

# Generate theoretical Normal distribution of timings: time_gap_norm
time_gap_norm = ____

# Plot theoretical CDFs
_ = plt.plot(*____)
_ = plt.plot(*____)

# Plot Parkfield ECDF
_ = plt.plot(*____(____, ____=____, ____=____, ____=____))

# Add legend
_ = plt.legend(('Exp.', 'Norm.'), loc='upper left')

# Label axes, set limits and show plot
_ = plt.xlabel('time gap (years)')
_ = plt.ylabel('ECDF')
_ = plt.xlim(-10, 50)
plt.show()
แก้ไขและรันโค้ด