Den b-Wert berechnen
Der b-Wert ist eine gängige Kennzahl für die Seismizität einer Region. Du wirst ihn bei Erdbebendaten wahrscheinlich oft berechnen wollen. Für Aufgaben, die du häufig ausführst, schreibst du am besten eine Funktion! Schreibe also eine Funktion mit der Signatur b_value(mags, mt, perc=[2.5, 97.5], n_reps=None), die den b-Wert und (optional, falls n_reps nicht None ist) dessen Konfidenzintervall für einen Satz von Magnituden mags zurückgibt. Die Vollständigkeitsschwelle ist mt. Das Keyword-Argument perc gibt die Perzentile für die Unter- und Obergrenze des Konfidenzintervalls an, und n_reps ist die Anzahl der Bootstrap-Replikate zur Berechnung des Konfidenzintervalls.
Diese Übung ist Teil des Kurses
Fallstudien zum statistischen Denken
Anleitung zur Übung
- Definiere eine Funktion mit der Signatur
b_value(mags, mt, perc=[2.5, 97.5], n_reps=None), die Folgendes tut:- Schneide Magnituden aus
magsan und oberhalb der Vollständigkeitsschwellemtmithilfe von Booleschem Indexing aus. Speichere das Ergebnis in der Variablenm. - Berechne die beste Schätzung des b-Werts. Denk daran: Die beste Schätzung für den b-Wert ist b = (m - mt)·ln(10). Speichere das Ergebnis in der Variablen
b. - wenn
n_repsnicht None ist, tue Folgendes.- Ziehe
n_repsBootstrap-Replikate des Mittelwerts vonm. Speichere das Ergebnis in der Variablenm_bs_reps. - Wandle die Bootstrap-Replikate des Mittelwerts von
min Replikate des b-Werts um. Speichere das Ergebnis inb_bs_reps. - Berechne das Konfidenzintervall aus den Bootstrap-Replikaten des b-Werts. Speichere das Ergebnis in
conf_int.
- Ziehe
- Gib
bundconf_intzurück, oder nurb, wennn_repsNoneist.
- Schneide Magnituden aus
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
____ ____:
"""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