Computing the b-value
The b-value is a common metric for the seismicity of a region. You can imagine you would like to calculate it often when working with earthquake data. For tasks like this that you will do often, it is best to write a function! So, write a function with signature b_value(mags, mt, perc=[2.5, 97.5], n_reps=None) that returns the b-value and (optionally, if n_reps is not None) its confidence interval for a set of magnitudes, mags. The completeness threshold is given by mt. The perc keyword argument gives the percentiles for the lower and upper bounds of the confidence interval, and n_reps is the number of bootstrap replicates to use in computing the confidence interval.
This exercise is part of the course
Case Studies in Statistical Thinking
Exercise instructions
- Define a function with signature
b_value(mags, mt, perc=[2.5, 97.5], n_reps=None)that does the following:- Slice magnitudes out of
magsat and above the completeness thresholdmtusing Boolean indexing. Store the result in the variablem. - Compute the best estimate of the b-value. Remember, the best estimate for the b-value is b = (m - mt)·ln(10). Store the result in the variable
b. - if
n_repsis not None, do the following.- Draw
n_repsbootstrap replicates of the mean ofm. Store the result in the variablem_bs_reps. - Convert the bootstrap replicates of the mean of
mto replicates of the b-value. Store the result inb_bs_reps. - Compute the confidence interval from the bootstrap replicates of the b-value. Store the result in
conf_int.
- Draw
- Return
bandconf_int, or justbifn_repsisNone.
- Slice magnitudes out of
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
____ ____:
"""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