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
Istruzioni dell'esercizio
- Usa
np.random.choice()per estrarresample_indsdapopulation_inds, preservando l’abbinamento distanza-tempo di ciascun dato. - Per preservare l’ordinamento temporale, esegui
.sort()susample_indse poi usasample_indsper indicizzaredistancesetimes. - Usa
least_squares(times, distances)per calcolare i parametri del modello lineare e salvaa1inresample_speeds. - Applica
np.mean()enp.percentiles()aresample_speeds, calcolando la velocità e l’intervallo di confidenzaci_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]))