การประมาณช่วงเวลาระหว่างแผ่นดินไหวสำหรับ 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()