Kom igångKom igång gratis

Bootstrap-replikat av medelvärdet och SEM

I den här övningen ska du beräkna en bootstrap-uppskattning av sannolikhetstäthetsfunktionen för den genomsnittliga årliga nederbörden vid Sheffield Weather Station. Kom ihåg att vi uppskattar den genomsnittliga årliga nederbörden som Sheffield Weather Station skulle få om alla mätningar från 1883 till 2015 upprepades om och om igen. Det här är en probabilistisk uppskattning av medelvärdet. Du ritar upp PDF:en som ett histogram och kommer att se att den är normalfördelad.

Det kan faktiskt visas teoretiskt att medelvärdet, under inte alltför restriktiva villkor, alltid är normalfördelat. (Detta gäller inte generellt, utan bara för medelvärdet och några andra statistiska mått.) Standardavvikelsen för denna fördelning kallas medelvärdets standardfel, eller SEM, och ges av datamängdens standardavvikelse dividerad med kvadratroten av antalet datapunkter. Det vill säga: sem = np.std(data) / np.sqrt(len(data)). Med hacker-statistik får du samma resultat utan att behöva härleda det, men du kommer att verifiera resultatet med hjälp av dina bootstrap-replikat.

Datamängden har redan lästs in i en array med namnet rainfall.

Den här övningen är en del av kursen

Statistiskt tänkande i Python (del 2)

Visa kurs

Övningsinstruktioner

  • Dra 10000 bootstrap-replikat av medelvärdet för den årliga nederbörden med hjälp av din draw_bs_reps()-funktion och arrayen rainfall. Tips: Skicka in np.mean som func för att beräkna medelvärdet.
    • Som en påminnelse tar draw_bs_reps() 3 argument: data, func och size.
  • Beräkna och skriv ut medelvärdets standardfel för rainfall.
    • Formeln för detta är np.std(data) / np.sqrt(len(data)).
  • Beräkna och skriv ut standardavvikelsen för dina bootstrap-replikat bs_replicates.
  • Skapa ett histogram över replikaten med nyckelordsargumentet normed=True och 50 bins.
  • Klicka på Skicka in svar för att se diagrammet!

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod