CommencezCommencez gratuitement

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

Voir le cours

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 est b/np.log(10), et vous devez ajouter mt à vos échantillons pour bien tenir compte du paramètre de position. Stockez le résultat dans m_theor.
  • Tracez la ECDF de m_theor sous forme de ligne.
  • Tracez la ECDF de toutes les magnitudes au‑dessus de mt sous 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))
Modifier et exécuter le code