K-S-testet för exponentialfördelning
Testa nollhypotesen att tidsgapen mellan jordbävningarna i Parkfield-sekvensen är exponentialfördelade – det vill säga att jordbävningar sker slumpmässigt utan något minne av när den förra inträffade. Obs: Den här beräkningen är beräkningsintensiv (du kommer att dra fler än 108 slumpmässiga tal), så det tar ungefär 10 sekunder att slutföra.
Den här övningen är en del av kursen
Fallstudier i statistiskt tänkande
Övningsinstruktioner
- Dra 10 000 replikat från exponentialfördelningen med hjälp av
np.random.exponential(). Det genomsnittliga tidsgapet mellan jordbävningar finns lagrat imean_time_gap, som du beräknade i en tidigare övning. Spara resultatet ix_f. - Använd dessa sampel,
x_f, tillsammans med de faktiska tidsgapen lagrade itime_gap, för att beräkna Kolmogorov-Smirnov-statistikan meddcst.ks_stat(). - Använd funktionen du skrev i förra övningen, nu bekvämt lagrad som
dcst.draw_ks_reps(), för att dra 10 000 K-S-replikat från exponentialfördelningen. Använd nyckelordsargumentetsize=10000när du drar ur målfördelningen. Spara replikaten somreps. - Beräkna och skriv ut p-värdet. Kom ihåg att "minst lika extremt som" i det här fallet definieras som att teststatistikan under nollhypotesen är större än eller lika med det observerade värdet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Draw target distribution: x_f
x_f = ____
# Compute K-S stat: d
d = ____
# Draw K-S replicates: reps
reps = ____(len(____), ____,
args=(mean_time_gap,), size=____, n_reps=____)
# Compute and print p-value
p_val = ____(____ >= ____) / 10000
print('p =', p_val)