Replicazioni bootstrap della media e del SEM
In questo esercizio calcolerai una stima bootstrap della funzione di densità di probabilità della media delle precipitazioni annue alla stazione meteorologica di Sheffield. Ricorda: stiamo stimando la media annua che otterremmo se la stazione di Sheffield potesse ripetere all'infinito tutte le misurazioni dal 1883 al 2015. Si tratta di una stima probabilistica della media. Traccerai la PDF come un istogramma e vedrai che è Normale.
In realtà, si può dimostrare teoricamente che, in condizioni non troppo restrittive, il valore della media è sempre distribuito Normalmente. (Questo non vale in generale, ma solo per la media e poche altre statistiche.) La deviazione standard di questa distribuzione, detta errore standard della media o SEM, è data dalla deviazione standard dei dati divisa per la radice quadrata del numero di punti. Cioè, per un insieme di dati, sem = np.std(data) / np.sqrt(len(data)). Usando le hacker stats ottieni lo stesso risultato senza doverlo derivare, ma lo verificherai con le tue replicazioni bootstrap.
Il dataset è stato precaricato per te in un array chiamato rainfall.
Questo esercizio fa parte del corso
Pensiero statistico in Python (Parte 2)
Istruzioni dell'esercizio
- Estrai
10000replicazioni bootstrap della media delle precipitazioni annue usando la tua funzionedraw_bs_reps()e l'arrayrainfall. Suggerimento: passanp.meancomefuncper calcolare la media.- Promemoria:
draw_bs_reps()accetta 3 argomenti:data,funcesize.
- Promemoria:
- Calcola e stampa l'errore standard della media di
rainfall.- La formula è
np.std(data) / np.sqrt(len(data)).
- La formula è
- Calcola e stampa la deviazione standard delle tue replicazioni bootstrap
bs_replicates. - Crea un istogramma delle replicazioni usando l'argomento
density=Truee50bin. - Premi Invia risposta per vedere il grafico!
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Take 10,000 bootstrap replicates of the mean: bs_replicates
bs_replicates = ____
# Compute and print SEM
sem = ____ / np.sqrt(____)
print(sem)
# Compute and print standard deviation of bootstrap replicates
bs_std = ____
print(bs_std)
# Make a histogram of the results
_ = plt.hist(____, ____=50, ____=True)
_ = plt.xlabel('mean annual rainfall (mm)')
_ = plt.ylabel('PDF')
# Show the plot
plt.show()