IniziaInizia gratis

Bootstrap e errore standard

Immagina un Parco Nazionale in cui i ranger fanno escursioni ogni giorno per mantenere i sentieri. Non percorrono sempre lo stesso itinerario, ma registrano la distanza finale e il tempo. Vorremmo costruire un modello statistico delle variazioni nella distanza giornaliera percorsa a partire da un campione limitato di dati di un singolo ranger.

Il tuo obiettivo è usare il bootstrap resampling, calcolando una media per ogni ricampionamento, per creare una distribuzione di medie, e poi calcolare l’errore standard come modo per quantificare l’“incertezza” nella statistica campionaria come stimatore della statistica della popolazione.

Usa l’array sample_data pre-caricato con 500 misurazioni indipendenti della distanza percorsa. Per ora usiamo un insieme di dati simulato per semplificare questa lezione. Più avanti vedremo dati più realistici.

Questo esercizio fa parte del corso

Introduzione alla modellazione lineare in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Assegna sample_data come modello per la popolazione.

  • Ripeti num_resamples volte:

    • Usa np.random.choice() ogni volta per generare un bootstrap_sample di size=resample_size prelevato da population_model e specifica replace=True.
    • Calcola e memorizza ogni volta la media del campione.
  • Calcola e stampa np.mean() e np.std() di bootstrap_means.

  • Usa la funzione predefinita plot_data_hist() e visualizza la distribuzione di bootstrap_means.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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(____)
Modifica ed esegui il codice