Aan de slagGa gratis aan de slag

Schattingen van tussenliggende aardbevings­tijden voor Parkfield

In deze oefening bereken je eerst de beste schattingen voor de parameters van de Exponential- en Gaussische modellen voor tussenliggende aardbevingstijden. Daarna plot je de theoretische CDF's voor beide modellen, samen met de formele ECDF van de werkelijke Parkfield-tussenliggende tijden.

Deze oefening maakt deel uit van de cursus

Casestudies in statistisch denken

Cursus bekijken

Oefeninstructies

  • Bereken de gemiddelde tussenliggende aardbevingstijd en sla deze op als mean_time_gap. De tijdsintervallen tussen de grote aardbevingen, in jaren, staan in time_gap.
  • Bereken de standaardafwijking van de tussenliggende tijden en sla deze op als std_time_gap.
  • Gebruik np.random.exponential() om 10.000 steekproeven te trekken uit een Exponential-verdeling met het juiste gemiddelde. Sla ze op in de variabele time_gap_exp.
  • Gebruik np.random.normal() om 10.000 steekproeven te trekken uit een Normaalverdeling met het juiste gemiddelde en de juiste standaardafwijking. Sla ze op in de variabele time_gap_norm.
  • Plot de theoretische CDF's elk in één lijn met de *dcst.ecdf()-aanpak die eerder in dit hoofdstuk is geïntroduceerd.
  • Plot de ECDF met de keyword-argumenten formal=True, min_x=-10 en max_x=50.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren