Estimarea timpilor dintre cutremure pentru Parkfield
În acest exercițiu, vei calcula mai întâi cele mai bune estimări ale parametrilor pentru modelele Exponențial și Gaussian al timpilor dintre cutremure. Vei reprezenta apoi CDF-urile teoretice ale modelelor respective, alături de ECDF-ul formal al timpilor reali dintre cutremurele majore de la Parkfield.
Acest exercițiu face parte din cursul
Studii de caz în gândirea statistică
Instrucțiuni pentru exercițiu
- Calculează media timpilor dintre cutremure și stocheaz-o în variabila
mean_time_gap. Intervalele de timp dintre cutremurele majore, exprimate în ani, sunt stocate întime_gap. - Calculează deviația standard a timpilor dintre cutremure și stocheaz-o în variabila
std_time_gap. - Folosește
np.random.exponential()pentru a genera 10.000 de eșantioane dintr-o distribuție Exponențială cu media corespunzătoare. Stocheaz-le în variabilatime_gap_exp. - Folosește
np.random.normal()pentru a genera 10.000 de eșantioane dintr-o distribuție Normală cu media și deviația standard corespunzătoare. Stocheaz-le în variabilatime_gap_norm. - Reprezintă grafic CDF-urile teoretice, câte o linie de cod pentru fiecare, folosind abordarea
*dcst.ecdf()introdusă anterior în acest capitol. - Reprezintă ECDF-ul folosind argumentele cheie
formal=True,min_x=-10șimax_x=50.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()