Giá trị b cho Parkfield
ECDF rất hiệu quả trong việc bộc lộ hiện tượng roll-off, như bạn thấy dưới độ lớn 1. Vì có rất nhiều trận động đất trên độ lớn 3, bạn có thể dùng mt = 3 làm ngưỡng đầy đủ (completeness threshold). Với ngưỡng này, hãy tính giá trị b cho khu vực Parkfield từ năm 1950 đến 2016, cùng với khoảng tin cậy 95%. In kết quả ra màn hình. Biến mags chứa tất cả các độ lớn đã có sẵn trong không gian làm việc của bạn.
Chồng thêm CDF hàm mũ (Exponential) lý thuyết để kiểm chứng rằng khu vực Parkfield tuân theo luật Gutenberg–Richter.
Bài tập này là một phần của khóa học
Các nghiên cứu tình huống về tư duy thống kê
Hướng dẫn bài tập
- Tính giá trị b và khoảng tin cậy 95% bằng hàm
b_value()của bạn. Dùng 10.000 mẫu bootstrap lặp. - Dùng
np.random.exponential()để rút 100.000 mẫu từ phân phối lý thuyết. Kỳ vọng của phân phối làb/np.log(10), và bạn cần cộng thêmmtvào các mẫu để xử lý đúng tham số vị trí. Lưu kết quả vàom_theor. - Vẽ ECDF của
m_theordưới dạng một đường. - Vẽ ECDF của tất cả các độ lớn lớn hơn
mtdưới dạng các điểm. - Nhấn "Gửi câu trả lời" để hiển thị biểu đồ và in giá trị b cùng khoảng tin cậy ra màn hình.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Compute b-value and 95% confidence interval
b, conf_int = ____(____, ____, ____=[____, ____], n_reps=____)
# Generate samples to for theoretical ECDF
m_theor = ____(____, size=____) + ____
# Plot the theoretical CDF
_ = ____(*____)
# Plot the ECDF (slicing mags >= mt)
_ = plt.plot(*____(____[____ >= ____]), marker='.', linestyle='none')
# Pretty up and show the plot
_ = plt.xlabel('magnitude')
_ = plt.ylabel('ECDF')
_ = plt.xlim(2.8, 6.2)
plt.show()
# Report the results
print("""
b-value: {0:.2f}
95% conf int: [{1:.2f}, {2:.2f}]""".format(b, *conf_int))