Snelheid en betrouwbaarheid schatten
We kijken verder naar de wandeldata uit het National Park. Merk op dat sommige afstanden negatief zijn omdat er in de tegenovergestelde richting vanaf het startpunt is gelopen; de data zijn rommelig, dus laten we ons richten op de algemene trend.
In deze oefening gebruik je bootstrap-hersampling om de verdeling van snelheidswaarden voor een lineair model te vinden. Vanuit die verdeling bereken je vervolgens de beste schatting voor de snelheid en het 90%-betrouwbaarheidsinterval van die schatting. De snelheid is hier de hellingsparameter uit het lineaire regressiemodel waarmee je afstand als functie van tijd modelleert.
Om je op weg te helpen, hebben we distance- en time-data alvast geladen, samen met een vooraf gedefinieerde functie least_squares() om de snelheidswaarde voor elke resample te berekenen.

Deze oefening maakt deel uit van de cursus
Introductie tot lineaire modellering in Python
Oefeninstructies
- Gebruik
np.random.choice()omsample_indste trekken uitpopulation_inds, waarbij je de afstand-tijd-koppeling van elk datapunt behoudt. - Om de tijdsvolgorde te behouden, voer je
.sort()uit opsample_indsen gebruik je vervolgenssample_indsomdistancesentimeste indexeren. - Gebruik
least_squares(times, distances)om de parameters van het lineaire model te berekenen en slaa1op inresample_speeds. - Pas
np.mean()ennp.percentiles()toe opresample_speedsom de snelheid en het betrouwbaarheidsintervalci_90te berekenen, en print daarna allebei.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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]))