Il valore b per Parkfield
L'ECDF è efficace nel mettere in evidenza il roll-off, come puoi vedere sotto magnitudo 1. Poiché ci sono molti terremoti sopra magnitudo 3, puoi usare mt = 3 come soglia di completezza. Con questa soglia, calcola il valore b per la regione di Parkfield dal 1950 al 2016, insieme all'intervallo di confidenza al 95%. Stampa i risultati a schermo. La variabile mags con tutte le magnitudini è già nel tuo namespace.
Sovrapponi la CDF esponenziale teorica per verificare che la regione di Parkfield segua la legge di Gutenberg-Richter.
Questo esercizio fa parte del corso
Casi di studio nel pensiero statistico
Istruzioni dell'esercizio
- Calcola il valore b e l'intervallo di confidenza al 95% usando la tua funzione
b_value(). Usa 10.000 replicati bootstrap. - Usa
np.random.exponential()per estrarre 100.000 campioni dalla distribuzione teorica. La media della distribuzione èb/np.log(10), e devi aggiungeremtai campioni per gestire correttamente il parametro di posizione. Salva il risultato inm_theor. - Traccia l'ECDF di
m_theorcome linea. - Traccia l'ECDF di tutte le magnitudini sopra
mtcome punti. - Premi "Invia risposta" per visualizzare il grafico e stampare a schermo il valore b e l'intervallo di confidenza.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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))