Inizia subitoInizia gratis

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

Visualizza corso

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 aggiungere mt ai campioni per gestire correttamente il parametro di posizione. Salva il risultato in m_theor.
  • Traccia l'ECDF di m_theor come linea.
  • Traccia l'ECDF di tutte le magnitudini sopra mt come 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))
Modifica ed esegui il codice