Вычисление 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 = (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