Začněte nyníZačněte zdarma

Variabilita vzorkových statistik

Pokud vytvoříme jeden vzorek o velikosti size=1000 tak, že z populace náhodně vybereme tolik bodů, a pak vypočítáme vzorkovou statistiku – například průměr – dostaneme jednu hodnotu, která celý vzorek shrnuje.

Pokud tento proces vzorkování zopakujeme num_samples=100 krát, získáme 100 vzorků. Výpočet vzorkové statistiky, například průměru, pro každý z těchto vzorků nám pak dá rozdělení hodnot průměru. Cílem je vypočítat průměr průměrů a směrodatnou odchylku průměrů.

V tomto cvičení využiješ předem načtené proměnné population, num_samples a num_pts. Pole means a deviations jsou inicializována na nulu – slouží jako kontejnery pro cyklus for.

Toto cvičení je součástí kurzu

Úvod do lineárního modelování v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Pro každý z num_samples=100 vzorků vygeneruj vzorek a vypočítej a ulož vzorkové statistiky.
  • V každé iteraci vytvoř sample pomocí np.random.choice() tak, že z populace náhodně vybereme 1000 bodů.
  • V každé iteraci vypočítej a ulož výsledky metod sample.mean() a sample.std() pro průměr a směrodatnou odchylku vzorku.
  • Pro pole means i pole deviations vypočítej průměr a směrodatnou odchylku každého z nich a výsledky vypiš.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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.____()))
Upravit a spustit kód