Cálculo del valor b
El valor b es una métrica habitual para medir la sismicidad de una región. Te puedes imaginar que querrás calcularlo a menudo cuando trabajes con datos de terremotos. Para tareas repetitivas como esta, lo mejor es escribir una función. Así que escribe una función con la firma b_value(mags, mt, perc=[2.5, 97.5], n_reps=None) que devuelva el valor b y (opcionalmente, si n_reps no es None) su intervalo de confianza para un conjunto de magnitudes, mags. El umbral de completitud viene dado por mt. El argumento de palabra clave perc indica los percentiles para los límites inferior y superior del intervalo de confianza, y n_reps es el número de réplicas bootstrap que se usarán para calcular el intervalo de confianza.
Este ejercicio forma parte del curso
Casos prácticos de pensamiento estadístico
Instrucciones del ejercicio
- Define una función con la firma
b_value(mags, mt, perc=[2.5, 97.5], n_reps=None)que haga lo siguiente:- Extrae las magnitudes de
magsen y por encima del umbral de completitudmtusando indexado booleano. Guarda el resultado en la variablem. - Calcula la mejor estimación del valor b. Recuerda: la mejor estimación para el valor b es b = (m - mt)·ln(10). Guarda el resultado en la variable
b. - si
n_repsno es None, haz lo siguiente.- Extrae
n_repsréplicas bootstrap de la media dem. Guarda el resultado en la variablem_bs_reps. - Convierte las réplicas bootstrap de la media de
men réplicas del valor b. Guarda el resultado enb_bs_reps. - Calcula el intervalo de confianza a partir de las réplicas bootstrap del valor b. Guarda el resultado en
conf_int.
- Extrae
- Devuelve
byconf_int, o solobsin_repsesNone.
- Extrae las magnitudes de
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
____ ____:
"""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