IniziaInizia gratis

Stima della velocità e della confidenza

Continuiamo a esaminare i dati sulle escursioni nei Parchi Nazionali. Nota che alcune distanze sono negative perché hanno camminato nella direzione opposta rispetto all’inizio del sentiero; i dati sono disordinati, quindi concentriamoci sulla tendenza generale.

In questo esercizio, il tuo obiettivo è usare il bootstrap resampling per trovare la distribuzione dei valori di velocità per un modello lineare e, a partire da quella distribuzione, calcolare la stima migliore della velocità e l’intervallo di confidenza al 90% di tale stima. Qui la velocità è il parametro di pendenza del modello di regressione lineare che adatta la distanza in funzione del tempo.

Per iniziare, abbiamo precaricato i dati di distance e time, insieme a una funzione least_squares() predefinita per calcolare il valore della velocità per ogni ricampionamento.

Questo esercizio fa parte del corso

Introduzione alla modellazione lineare in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Usa np.random.choice() per estrarre sample_inds da population_inds, preservando l’abbinamento distanza-tempo di ciascun dato.
  • Per preservare l’ordinamento temporale, esegui .sort() su sample_inds e poi usa sample_inds per indicizzare distances e times.
  • Usa least_squares(times, distances) per calcolare i parametri del modello lineare e salva a1 in resample_speeds.
  • Applica np.mean() e np.percentiles() a resample_speeds, calcolando la velocità e l’intervallo di confidenza ci_90, quindi stampa entrambi.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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