Kom igångKom igång gratis

Bootstrapreplikat av medelvärdet och SEM

I den här övningen beräknar du en bootstrapskattning av sannolikhetstäthetsfunktionen för den genomsnittliga årliga nederbörden vid Sheffield Weather Station. Vi skattar alltså det medelvärde för årlig nederbörd som skulle fås om Sheffield Weather Station kunde upprepa alla mätningar från 1883 till 2015 om och om igen. Det är en probabilistisk skattning 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 enbart för medelvärdet och ett fåtal andra statistiska mått.) Standardavvikelsen för denna fördelning kallas standardfelet för medelvärdet, eller SEM, och ges av datans standardavvikelse dividerat med kvadratroten av antalet datapunkter. Det vill säga, för en datamängd gäller: sem = np.std(data) / np.sqrt(len(data)). Med hackerstatistik får du samma resultat utan att behöva härleda det – men du kommer att verifiera resultatet med dina bootstrapreplikat.

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

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

Statistiskt tänkande i Python (del 2)

Visa kurs

Övningsinstruktioner

  • Dra 10000 bootstrapreplikat av det genomsnittliga årliga nederbördsvärdet med din funktion draw_bs_reps() och arrayen rainfall. Tips: Skicka in np.mean för 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 standardfelet för medelvärdet av rainfall.
    • Formeln för detta är np.std(data) / np.sqrt(len(data)).
  • Beräkna och skriv ut standardavvikelsen för dina bootstrapreplikat bs_replicates.
  • Skapa ett histogram över replikaten med nyckelordsargumentet density=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