La valeur b pour Parkfield
La ECDF met bien en évidence l'effet de « roll-off », comme vous pouvez le voir sous la magnitude 1. Comme il y a beaucoup de 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 noms.
Superposez la CDF exponentielle théorique pour vérifier que la région de Parkfield suit la loi de Gutenberg-Richter.
Cette activité fait partie du cours
Études de cas en pensée statistique
Instructions de l’exercice
- Calculez la valeur b et l'intervalle de confiance à 95 % avec votre fonction
b_value(). Utilisez 10 000 rééchantillonnages 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 bien tenir compte du paramètre de position. Stockez le résultat dansm_theor. - Tracez la ECDF de
m_theorsous forme de ligne. - Tracez la ECDF de toutes les magnitudes au‑dessus de
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 ce code d’exemple.
# 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))