Zacznij terazZacznij za darmo

Bootstrap i błąd standardowy

Wyobraź sobie park narodowy, w którym strażnicy codziennie przemierzają szlaki podczas obchodów. Trasy nie są zawsze takie same, ale każdy strażnik zapisuje pokonaną odległość i czas. Chcemy zbudować model statystyczny opisujący dobowe wahania pokonanej odległości na podstawie ograniczonej próbki danych od jednego strażnika.

Twoim celem jest użycie resampligu bootstrapowego – polegającego na obliczeniu jednej średniej dla każdej próbki bootstrapowej – aby uzyskać rozkład średnich, a następnie wyznaczenie błędu standardowego jako miary „niepewności" statystyki próbkowej jako estymatora statystyki populacji.

Skorzystaj z wczytanej tablicy sample_data zawierającej 500 niezależnych pomiarów pokonanej odległości. Na razie używamy symulowanego zbioru danych, aby uprościć tę lekcję. Później zobaczymy bardziej realistyczne dane.

To ćwiczenie jest częścią kursu

Wprowadzenie do modelowania liniowego w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Przypisz sample_data jako model populacji.

  • Wykonaj pętlę num_resamples razy:

    • Za każdym razem użyj np.random.choice(), aby wygenerować bootstrap_sample o rozmiarze size=resample_size pobranej z population_model – ustaw replace=True.
    • Oblicz i zapisz średnią próbki przy każdej iteracji.
  • Oblicz i wyświetl np.mean() oraz np.std() dla bootstrap_means.

  • Skorzystaj z predefiniowanej funkcji plot_data_hist() i zwizualizuj rozkład bootstrap_means.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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(____)
Edytuj i uruchom kod