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
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
magsno limiar de completudemte acima dele usando indexação booleana. Armazene o resultado na variávelm. - 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_repsnão for None, faça o seguinte.- Sorteie
n_repsréplicas bootstrap da média dem. Armazene o resultado na variávelm_bs_reps. - Converta as réplicas bootstrap da média de
mem réplicas do valor de b. Armazene o resultado emb_bs_reps. - Calcule o intervalo de confiança a partir das réplicas bootstrap do valor de b. Armazene o resultado em
conf_int.
- Sorteie
- Retorne
beconf_int, ou apenasbsen_repsforNone.
- Faça o fatiamento das magnitudes de
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