La valeur b pour Parkfield
L’ECDF met efficacement en évidence le « roll-off », comme vous avez pu le voir en dessous de la magnitude 1. Comme il y a de nombreux séismes au-dessus de la magnitude 3, vous pouvez utiliser mt = 3 comme seuil de complétude. Avec ce seuil, calculez la valeur b pour la région de Parkfield de 1950 à 2016, ainsi que l’intervalle de confiance à 95 %. Affichez les résultats à l’écran. La variable mags, qui contient toutes les magnitudes, est déjà disponible dans votre espace de travail.
Superposez la CDF exponentielle théorique pour vérifier que la région de Parkfield suit la loi de Gutenberg-Richter.
Cet exercice fait partie du cours
Études de cas en pensée statistique
Instructions
- Calculez la valeur b et l’intervalle de confiance à 95 % avec votre fonction
b_value(). Utilisez 10 000 réplicats bootstrap. - Utilisez
np.random.exponential()pour tirer 100 000 échantillons de la distribution théorique. La moyenne de la distribution estb/np.log(10), et vous devez ajoutermtà vos échantillons pour gérer correctement le paramètre de position. Stockez le résultat dansm_theor. - Tracez l’ECDF de
m_theorsous forme de ligne. - Tracez l’ECDF de toutes les magnitudes supérieures à
mtsous forme de points. - Cliquez sur "Soumettre la réponse" pour afficher le graphique et imprimer à l’écran la valeur b et l’intervalle de confiance.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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))