Der b-Wert für Parkfield
Die ECDF ist gut darin, den Roll-off sichtbar zu machen, wie du unter Magnitude 1 sehen konntest. Weil es ausreichend Erdbeben mit Magnitude über 3 gibt, kannst du mt = 3 als Vollständigkeitsschwelle verwenden. Mit dieser Schwelle berechnest du den b-Wert für die Region Parkfield von 1950 bis 2016 sowie das 95-%-Konfidenzintervall. Gib die Ergebnisse auf dem Bildschirm aus. Die Variable mags mit allen Magnituden steht in deinem Namespace zur Verfügung.
Lege die theoretische Exponential-CDF darüber, um zu prüfen, dass die Region Parkfield dem Gutenberg-Richter-Gesetz folgt.
Diese Übung ist Teil des Kurses
Fallstudien zum statistischen Denken
Anleitung zur Übung
- Berechne den b-Wert und das 95-%-Konfidenzintervall mit deiner Funktion
b_value(). Verwende 10.000 Bootstrap-Replikate. - Nutze
np.random.exponential(), um 100.000 Stichproben aus der theoretischen Verteilung zu ziehen. Der Mittelwert der Verteilung istb/np.log(10), und du musstmtzu deinen Stichproben addieren, um den Lageparameter korrekt zu berücksichtigen. Speichere das Ergebnis inm_theor. - Plotte die ECDF von
m_theorals Linie. - Plotte die ECDF aller Magnituden oberhalb von
mtals Punkte. - Klicke auf 'Antwort senden', um den Plot anzuzeigen und den b-Wert sowie das Konfidenzintervall auf dem Bildschirm auszugeben.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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))