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
Ö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 itime_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 variabelntime_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 variabelntime_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=-10ochmax_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()