Kom igångKom igång gratis

Uppskattningar av tid mellan jordbävningar för Parkfield

I den här övningen beräknar du först de bästa parameterestimaten för exponential- och normalfördelningsmodellerna för tid mellan jordbävningar. Därefter plottar du de teoretiska CDF:erna för respektive modell tillsammans med den empiriska ECDF:en för de faktiska tidsgapen mellan jordbävningar i Parkfield.

Den här övningen är en del av kursen

Fallstudier i statistiskt tänkande

Visa kurs

Övningsinstruktioner

  • Beräkna det genomsnittliga tidsgapet mellan jordbävningar och lagra det som mean_time_gap. Tidsgapen mellan de stora jordbävningarna, i enheten år, finns lagrade i time_gap.
  • Beräkna standardavvikelsen för tidsgapen och lagra den som std_time_gap.
  • Använd np.random.exponential() för att dra 10 000 sampel från en exponentialfördelning med lämpligt medelvärde. Lagra dem i variabeln time_gap_exp.
  • Använd np.random.normal() för att dra 10 000 sampel från en normalfördelning med lämpligt medelvärde och lämplig standardavvikelse. Lagra dem i variabeln time_gap_norm.
  • Plotta de teoretiska CDF:erna på en rad vardera, med hjälp av *dcst.ecdf()-metoden som introducerades tidigare i det här kapitlet.
  • Plotta ECDF:en med nyckelordsargumenten formal=True, min_x=-10 och max_x=50.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod