CommencerCommencez gratuitement

Estimations des intervalles intersismiques à Parkfield

Dans cet exercice, vous allez d'abord calculer les meilleures estimations des paramètres des modèles exponentiel et gaussien pour les intervalles entre séismes. Vous tracerez ensuite les CDF théoriques correspondantes, ainsi que l'ECDF formelle des intervalles intersismiques observés à Parkfield.

Cet exercice fait partie du cours

<cours>Études de cas en pensée statistique</cours>
Voir le cours

Instructions de l’exercice

  • Calculez l'intervalle intersismique moyen et stockez-le dans mean_time_gap. Les intervalles entre les séismes majeurs, en années, sont stockés dans time_gap.
  • Calculez l'écart type des intervalles intersismiques et stockez-le dans std_time_gap.
  • Utilisez np.random.exponential() pour tirer 10 000 échantillons d'une loi exponentielle avec la moyenne appropriée. Stockez-les dans la variable time_gap_exp.
  • Utilisez np.random.normal() pour tirer 10 000 échantillons d'une loi normale avec la moyenne et l'écart type appropriés. Stockez-les dans la variable time_gap_norm.
  • Tracez les CDF théoriques sur une ligne chacune, en utilisant l'approche *dcst.ecdf() présentée plus tôt dans ce chapitre.
  • Tracez l'ECDF en utilisant les arguments nommés formal=True, min_x=-10 et max_x=50.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Compute the mean time gap: mean_time_gap
mean_time_gap = ____

# Standard deviation of the time gap: std_time_gap
std_time_gap = ____

# Generate theoretical Exponential distribution of timings: time_gap_exp
time_gap_exp = ____

# Generate theoretical Normal distribution of timings: time_gap_norm
time_gap_norm = ____

# Plot theoretical CDFs
_ = plt.plot(*____)
_ = plt.plot(*____)

# Plot Parkfield ECDF
_ = plt.plot(*____(____, ____=____, ____=____, ____=____))

# Add legend
_ = plt.legend(('Exp.', 'Norm.'), loc='upper left')

# Label axes, set limits and show plot
_ = plt.xlabel('time gap (years)')
_ = plt.ylabel('ECDF')
_ = plt.xlim(-10, 50)
plt.show()
Modifier et exécuter le code