ÎncepețiÎncepe gratuit

Estimarea vitezei și a intervalului de încredere

Să continuăm analiza datelor de drumeție din parcurile naționale. Observă că unele distanțe sunt negative, deoarece drumețul a mers în sens opus față de punctul de start; datele sunt zgomotoase, așa că ne vom concentra pe tendința generală.

În acest exercițiu, obiectivul tău este să folosești bootstrap resampling pentru a găsi distribuția valorilor de viteză ale unui model liniar, și apoi, pe baza acestei distribuții, să calculezi cea mai bună estimare a vitezei și intervalul de încredere de 90% al acestei estimări. Viteza reprezintă parametrul de pantă din modelul de regresie liniară, care aproximează distanța în funcție de timp.

Pentru a te ajuta să începi, am preîncărcat datele distance și time, împreună cu o funcție predefinită least_squares() pentru a calcula valoarea vitezei pentru fiecare reesantion.

Acest exercițiu face parte din cursul

Introducere în modelarea liniară în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește np.random.choice() pentru a extrage sample_inds din population_inds, păstrând asocierea distanță-timp pentru fiecare observație.
  • Pentru a păstra ordinea temporală, aplică .sort() pe sample_inds, apoi folosește sample_inds pentru a indexa distances și times.
  • Folosește least_squares(times, distances) pentru a calcula parametrii modelului liniar și stochează a1 în resample_speeds.
  • Aplică np.mean() și np.percentiles() pe resample_speeds, calculând viteza și intervalul de încredere ci_90, apoi afișează ambele valori.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Resample each preloaded population, and compute speed distribution
population_inds = np.arange(0, 99, dtype=int)
for nr in range(num_resamples):
    sample_inds = np.random.choice(____, size=100, replace=True)
    sample_inds.____()
    sample_distances = distances[____]
    sample_times = times[____]
    a0, a1 = ____(sample_times, sample_distances)
    resample_speeds[nr] = ____

# Compute effect size and confidence interval, and print
speed_estimate = np.mean(____)
ci_90 = np.percentile(____, [5, 95])
print('Speed Estimate = {:0.2f}, 90% Confidence Interval: {:0.2f}, {:0.2f} '.format(____, ____[0], ____[1]))
Editează și rulează codul