НачатьНачать бесплатно

Вычисление 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
Редактировать и запускать код