De b-waarde berekenen
De b-waarde is een veelgebruikte maat voor de seismische activiteit in een regio. Je kunt je voorstellen dat je die vaak wilt berekenen als je met aardbevingsdata werkt. Voor dit soort taken die je vaak doet, kun je het beste een functie schrijven! Schrijf daarom een functie met de signatuur b_value(mags, mt, perc=[2.5, 97.5], n_reps=None) die de b-waarde retourneert en (optioneel, als n_reps niet None is) het betrouwbaarheidsinterval voor een set magnitudes, mags. De volledigheidsdrempel wordt gegeven door mt. Het keywordargument perc geeft de percentielen voor de onder- en bovengrens van het betrouwbaarheidsinterval, en n_reps is het aantal bootstrap-replicaties dat je gebruikt om het betrouwbaarheidsinterval te berekenen.
Deze oefening maakt deel uit van de cursus
Casestudies in statistisch denken
Oefeninstructies
- Definieer een functie met de signatuur
b_value(mags, mt, perc=[2.5, 97.5], n_reps=None)die het volgende doet:- Selecteer magnitudes uit
magsdie op of boven de volledigheidsdrempelmtliggen met Booleaanse indexering. Sla het resultaat op in de variabelem. - Bereken de beste schatting van de b-waarde. Denk eraan: de beste schatting voor de b-waarde is b = (m - mt)·ln(10). Sla het resultaat op in de variabele
b. - als
n_repsniet None is, doe dan het volgende.- Trek
n_repsbootstrap-replicaties van het gemiddelde vanm. Sla het resultaat op in de variabelem_bs_reps. - Zet de bootstrap-replicaties van het gemiddelde van
mom naar replicaties van de b-waarde. Sla het resultaat op inb_bs_reps. - Bereken het betrouwbaarheidsinterval op basis van de bootstrap-replicaties van de b-waarde. Sla het resultaat op in
conf_int.
- Trek
- Retourneer
benconf_int, of alleenbalsn_repsNoneis.
- Selecteer magnitudes uit
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
____ ____:
"""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