Aan de slagGa gratis aan de slag

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

Cursus bekijken

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 is b/np.log(10), en je moet mt bij je samples optellen om de locatieparameter correct te verwerken. Sla het resultaat op in m_theor.
  • Plot de ECDF van m_theor als een lijn.
  • Plot de ECDF van alle magnitudes boven mt als 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))
Code bewerken en uitvoeren