LoslegenKostenlos loslegen

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

Kurs anzeigen

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 ist b/np.log(10), und du musst mt zu deinen Stichproben addieren, um den Lageparameter korrekt zu berücksichtigen. Speichere das Ergebnis in m_theor.
  • Plotte die ECDF von m_theor als Linie.
  • Plotte die ECDF aller Magnituden oberhalb von mt als 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))
Code bearbeiten und ausführen