Aan de slagBegin gratis

Bootstrap en standaardfout

Stel je een Nationaal Park voor waar boswachters elke dag wandelen als onderdeel van het onderhoud van de paden. Ze nemen niet altijd hetzelfde pad, maar ze noteren wel hun uiteindelijke afstand en tijd. We willen een statistisch model bouwen van de variatie in de dagelijkse afgelegde afstand, op basis van een beperkte steekproef van één boswachter.

Jouw doel is om bootstrap-resampling te gebruiken en voor elke resample één gemiddelde te berekenen, zodat je een verdeling van gemiddelden krijgt. Bereken vervolgens de standaardfout als manier om de "onzekerheid" in de steekproefstatistiek te kwantificeren als schatter voor de populatiestatistiek.

Gebruik de vooraf geladen array sample_data met 500 onafhankelijke metingen van afgelegde afstand. Voor nu gebruiken we een gesimuleerde gegevensset om deze les eenvoudiger te maken. Later bekijken we realistischer data.

Deze oefening maakt deel uit van de cursus

Introductie tot lineaire modellering in Python

Bekijk cursus

Oefeninstructies

  • Wijs sample_data toe als het model voor de populatie.

  • Herhaal num_resamples keer:

    • Gebruik elke keer np.random.choice() om een bootstrap_sample te genereren van size=resample_size genomen uit het population_model en geef replace=True op.
    • Bereken en sla telkens het steekproefgemiddelde op.
  • Bereken en print de np.mean() en np.std() van bootstrap_means.

  • Gebruik de vooraf gedefinieerde plot_data_hist() en visualiseer de bootstrap_means-verdeling.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# Use the sample_data as a model for the population
population_model = ____

# Resample the population_model 100 times, computing the mean each sample
for nr in range(num_resamples):
    bootstrap_sample = np.random.____(population_model, size=____, replace=____)
    bootstrap_means[nr] = np.____(bootstrap_sample)

# Compute and print the mean, stdev of the resample distribution of means
distribution_mean = np.mean(____)
standard_error = np.std(____)
print('Bootstrap Distribution: center={:0.1f}, spread={:0.1f}'.format(____, ____))

# Plot the bootstrap resample distribution of means
fig = plot_data_hist(____)
Code bewerken en uitvoeren