Beräkning av b-värdet
b-värdet är ett vanligt mått på seismiciteten i ett område. När man arbetar med jordbävningsdata vill man ofta beräkna det. För återkommande uppgifter av det här slaget lönar det sig att skriva en funktion! Skriv därför en funktion med signaturen b_value(mags, mt, perc=[2.5, 97.5], n_reps=None) som returnerar b-värdet och (valfritt, om n_reps inte är None) dess konfidensintervall för en uppsättning magnituder, mags. Fullständighetströskelns värde ges av mt. Nyckelordsargumentet perc anger percentilerna för konfidensintervallets nedre och övre gränser, och n_reps är antalet bootstrapreplikat som används vid beräkningen av konfidensintervallet.
Den här övningen är en del av kursen
Fallstudier i statistiskt tänkande
Övningsinstruktioner
- Definiera en funktion med signaturen
b_value(mags, mt, perc=[2.5, 97.5], n_reps=None)som gör följande:- Plocka ut magnituder från
magssom är lika med eller överstiger fullständighetströskelnmtmed hjälp av boolesk indexering. Lagra resultatet i variabelnm. - Beräkna den bästa skattningen av b-värdet. Kom ihåg att den bästa skattningen av b-värdet är b = (m - mt)·ln(10). Lagra resultatet i variabeln
b. - Om
n_repsinte är None, gör följande.- Dra
n_repsbootstrapreplikat av medelvärdet avm. Lagra resultatet i variabelnm_bs_reps. - Konvertera bootstrapreplikaten av medelvärdet av
mtill replikat av b-värdet. Lagra resultatet ib_bs_reps. - Beräkna konfidensintervallet från bootstrapreplikaten av b-värdet. Lagra resultatet i
conf_int.
- Dra
- Returnera
bochconf_int, eller enbartbomn_repsärNone.
- Plocka ut magnituder från
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
____ ____:
"""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