Обчислення значення b
Значення b — поширений показник сейсмічності регіону. Його часто доводиться обчислювати під час роботи з даними про землетруси. Для таких рутинних завдань найкраще написати функцію. Тож створіть функцію з сигнатурою b_value(mags, mt, perc=[2.5, 97.5], n_reps=None), яка повертає значення b і (за потреби, якщо n_reps не None) його довірчий інтервал для набору магнітуд mags. Поріг повноти задано як mt. Параметр perc задає перцентилі для нижньої та верхньої меж довірчого інтервалу, а n_reps — кількість бутстрепових реплік, що використовуються для його обчислення.
Ця вправа є частиною курсу
Кейс-стаді зі статистичного мислення
Інструкції до вправи
- Створіть функцію з сигнатурою
b_value(mags, mt, perc=[2.5, 97.5], n_reps=None), яка виконує таке:- Виділіть магнітуди з
mags, що дорівнюють або перевищують поріг повнотиmt, використовуючи булеву індексацію. Збережіть результат у зміннійm. - Обчисліть найкращу оцінку значення b. Нагадаємо, найкраща оцінка для b — це b = (m - mt)·ln(10). Збережіть результат у змінній
b. - якщо
n_repsне None, виконайте таке.- Згенеруйте
n_repsбутстрепових реплік середньогоm. Збережіть результат у зміннійm_bs_reps. - Перетворіть бутстрепові репліки середнього
mна репліки значення b. Збережіть результат уb_bs_reps. - Обчисліть довірчий інтервал з бутстрепових реплік значення b. Збережіть результат у
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