När inträffar nästa stora Parkfield-skalv?
Det senaste stora jordskalvet i Parkfield-regionen inträffade kvällen den 27 september 2004 lokal tid. Din uppgift är att uppskatta när nästa Parkfield-skalv kommer att ske, dels med en exponentialmodell och dels med en normalfördelningsmodell. I båda fallen ges den bästa uppskattningen av det genomsnittliga tidsgapet, som du beräknade i föregående övning till 24,62 år – vilket innebär att nästa jordskalv förväntas inträffa år 2029. Beräkna 95-procentiga konfidensintervall för när nästa jordskalv inträffar, med antagandet att tidsgapen följer en exponentialfördelning parametriserad med mean_time_gap från föregående övning. Gör sedan samma sak med antagandet att de följer en normalfördelning parametriserad med mean_time_gap och std_time_gap.
Den här övningen är en del av kursen
Fallstudier i statistiskt tänkande
Övningsinstruktioner
- Dra 100 000 stickprov från en exponentialfördelning med medelvärdet
mean_time_gap. Spara resultatet iexp_samples. - Dra 100 000 stickprov från en normalfördelning med medelvärdet
mean_time_gapoch standardavvikelsenstd_time_gap. Spara resultatet inorm_samples. - Eftersom inget Parkfield-skalv har inträffat ännu, filtrera ut de stickprov som är större än
today - last_quake, där det aktuella årets decimalvärde är sparat itodayochlast_quake = 2004.74är decimalvärdet för det senaste Parkfield-skalvet. Skriv över respektiveexp_samplesochnorm_samplesmed dessa filtrerade arrayer. - Använd
np.percentile()för att beräkna det 95-procentiga konfidensintervallet för när nästa Parkfield-skalv inträffar. I samma funktionsanrop kan du även beräkna medianen genom att inkludera den 50:e percentilen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Draw samples from the Exponential distribution: exp_samples
exp_samples = ____
# Draw samples from the Normal distribution: norm_samples
norm_samples = ____
# No earthquake as of today, so only keep samples that are long enough
exp_samples = ____[____ > ____ - ____]
norm_samples = ____[____ > ____ - ____]
# Compute the confidence intervals with medians
conf_int_exp = ____(____, [____, ____, ____]) + last_quake
conf_int_norm = ____(____, [____, ____, ____]) + last_quake
# Print the results
print('Exponential:', conf_int_exp)
print(' Normal:', conf_int_norm)