b-värdet för Parkfield
ECDF är effektiv för att synliggöra avtagande frekvenser, vilket du kunde se under magnitud 1. Eftersom det finns gott om jordbävningar över magnitud 3 kan du använda mt = 3 som fullständighetströskel. Med denna tröskel beräknar du b-värdet för Parkfieldregionen från 1950 till 2016, tillsammans med ett 95-procentigt konfidensintervall. Skriv ut resultaten på skärmen. Variabeln mags med alla magnituder finns i ditt namnområde.
Lägg till den teoretiska exponentiella CDF:en som ett lager för att kontrollera att Parkfieldregionen följer Gutenberg-Richters lag.
Den här övningen är en del av kursen
Fallstudier i statistiskt tänkande
Övningsinstruktioner
- Beräkna b-värdet och det 95-procentiga konfidensintervallet med hjälp av din funktion
b_value(). Använd 10 000 bootstrap-replikat. - Använd
np.random.exponential()för att dra 100 000 sampel från den teoretiska fördelningen. Medelvärdet för fördelningen ärb/np.log(10), och du behöver adderamttill dina sampel för att hantera platsparametern korrekt. Lagra resultatet im_theor. - Rita ECDF för
m_theorsom en linje. - Rita ECDF för alla magnituder över
mtsom punkter. - Klicka på Skicka in svar för att visa grafen och skriva ut b-värdet och konfidensintervallet på skärmen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))