Variation i urvalsstatistik
Om vi skapar ett urval med size=1000 genom att dra lika många punkter från en population och sedan beräknar ett urvalsmått – till exempel medelvärdet – får vi ett enskilt värde som sammanfattar urvalet.
Om du upprepar den här urvalsprocessen num_samples=100 gånger får du 100 urval. Beräknar du urvalsmåttet, till exempel medelvärdet, för vart och ett av dessa urval får du en fördelning av medelvärden. Målet är sedan att beräkna medelvärdet av medelvärdena samt standardavvikelsen för medelvärdena.
Här använder du de förinstansierade variablerna population, num_samples och num_pts. Observera att arrayerna means och deviations redan har initierats till noll – de fungerar som behållare i for-loopen.
Den här övningen är en del av kursen
Introduktion till linjär modellering i Python
Övningsinstruktioner
- Generera för var och en av
num_samples=100iterationer ett urval och beräkna och lagra urvalsstatistiken. - Skapa för varje iteration ett
samplegenom att användanp.random.choice()för att dra1000slumpmässiga punkter från populationen. - Beräkna och lagra för varje iteration metoderna
sample.mean()ochsample.std()för att få medelvärdet och standardavvikelsen för urvalet. - Beräkna för arrayen
meansoch arrayendeviationsbåde medelvärdet och standardavvikelsen för respektive array och skriv ut resultaten.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Initialize two arrays of zeros to be used as containers
means = np.zeros(num_samples)
stdevs = np.zeros(num_samples)
# For each iteration, compute and store the sample mean and sample stdev
for ns in range(num_samples):
sample = np.____.choice(population, num_pts)
means[ns] = sample.____()
stdevs[ns] = sample.____()
# Compute and print the mean() and std() for the sample statistic distributions
print("Means: center={:>6.2f}, spread={:>6.2f}".format(means.mean(), means.std()))
print("Stdevs: center={:>6.2f}, spread={:>6.2f}".format(stdevs.____(), stdevs.____()))