ComeçarComece de graça

Calculando o valor de b

O valor de b é uma métrica comum para a sismicidade de uma região. É algo que você provavelmente vai querer calcular com frequência ao trabalhar com dados de terremotos. Para tarefas recorrentes como esta, o ideal é escrever uma função! Então, escreva uma função com a assinatura b_value(mags, mt, perc=[2.5, 97.5], n_reps=None) que retorne o valor de b e (opcionalmente, se n_reps não for None) seu intervalo de confiança para um conjunto de magnitudes, mags. O limiar de completude é dado por mt. O argumento nomeado perc fornece os percentis para os limites inferior e superior do intervalo de confiança, e n_reps é o número de réplicas bootstrap a serem usadas no cálculo do intervalo de confiança.

Este exercício faz parte do curso

Estudos de caso em pensamento estatístico

Ver curso

Instruções do exercício

  • Defina uma função com a assinatura b_value(mags, mt, perc=[2.5, 97.5], n_reps=None) que faça o seguinte:
    • Faça o fatiamento das magnitudes de mags no limiar de completude mt e acima dele usando indexação booleana. Armazene o resultado na variável m.
    • Calcule a melhor estimativa do valor de b. Lembre-se: a melhor estimativa para o valor de b é b = (m - mt)·ln(10). Armazene o resultado na variável b.
    • se n_reps não for None, faça o seguinte.
      • Sorteie n_reps réplicas bootstrap da média de m. Armazene o resultado na variável m_bs_reps.
      • Converta as réplicas bootstrap da média de m em réplicas do valor de b. Armazene o resultado em b_bs_reps.
      • Calcule o intervalo de confiança a partir das réplicas bootstrap do valor de b. Armazene o resultado em conf_int.
    • Retorne b e conf_int, ou apenas b se n_reps for None.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

____ ____:
    """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
Editar e executar o código