De b-waarde voor Parkfield
De ECDF is goed in het laten zien van roll-off, zoals je onder magnitude 1 kon zien. Omdat er ruim voldoende aardbevingen boven magnitude 3 zijn, kun je mt = 3 gebruiken als je volledigheidsdrempel. Bereken met deze drempel de b-waarde voor de regio Parkfield van 1950 tot 2016, samen met het 95%-betrouwbaarheidsinterval. Print de resultaten naar het scherm. De variabele mags met alle magnitudes staat al in je namespace.
Leg de theoretische exponentiële CDF eroverheen om te controleren dat de regio Parkfield de wet van Gutenberg-Richter volgt.
Deze oefening maakt deel uit van de cursus
Casestudies in statistisch denken
Oefeninstructies
- Bereken de b-waarde en het 95%-betrouwbaarheidsinterval met je functie
b_value(). Gebruik 10.000 bootstrap-replicaties. - Gebruik
np.random.exponential()om 100.000 samples uit de theoretische verdeling te trekken. Het gemiddelde van de verdeling isb/np.log(10), en je moetmtbij je samples optellen om de locatieparameter correct te verwerken. Sla het resultaat op inm_theor. - Plot de ECDF van
m_theorals een lijn. - Plot de ECDF van alle magnitudes boven
mtals punten. - Klik op "Antwoord verzenden" om de plot te tonen en de b-waarde en het betrouwbaarheidsinterval op het scherm te printen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Compute b-value and 95% confidence interval
b, conf_int = ____(____, ____, ____=[____, ____], n_reps=____)
# Generate samples to for theoretical ECDF
m_theor = ____(____, size=____) + ____
# Plot the theoretical CDF
_ = ____(*____)
# Plot the ECDF (slicing mags >= mt)
_ = plt.plot(*____(____[____ >= ____]), marker='.', linestyle='none')
# Pretty up and show the plot
_ = plt.xlabel('magnitude')
_ = plt.ylabel('ECDF')
_ = plt.xlim(2.8, 6.2)
plt.show()
# Report the results
print("""
b-value: {0:.2f}
95% conf int: [{1:.2f}, {2:.2f}]""".format(b, *conf_int))