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

Hlasování o zákoně o občanských právech v roce 1964

Zákon o občanských právech z roku 1964 byl jedním z nejvýznamnějších zákonů, jaké kdy byly ve Spojených státech přijaty. Bez zahrnutí hlasů „zdržel se" a „nepřítomen" hlasovalo 153 demokratů a 136 republikánů v Sněmovně reprezentantů „pro". Naproti tomu 91 demokratů a 35 republikánů hlasovalo „proti". Měla stranická příslušnost na výsledek hlasování vliv?

Abys na tuto otázku odpověděl/a, otestuješ hypotézu, že stranická příslušnost člena Sněmovny nemá na jeho hlas žádný vliv. Jako testovací statistiku použiješ podíl demokratů hlasujících „pro" a vypočítáš pravděpodobnost, že tento podíl bude alespoň tak malý, jako byl pozorovaný podíl 153/244. (Správně – alespoň tak malý. V roce 1964 to byli totiž právě demokraté, kdo zaujímal v otázkách občanských práv méně progresivní postoje.) K tomu promícháš stranické příslušnosti poslanců a arbitrárně je rozdělíš na „demokraty" a „republikány", načež vypočítáš podíl demokratů hlasujících „pro".

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

Statistical Thinking in Python (Part 2)

Zobrazit kurz

Pokyny k cvičení

  • Sestav logická pole dems a reps obsahující hlasy příslušných stran – například dems má 153 záznamů True a 91 záznamů False.
  • Napiš funkci frac_yea_dems(dems, reps), která vrátí podíl demokratů, kteří hlasovali „pro". Prvním vstupem je pole logických hodnot. Funkce draw_perm_reps() vyžaduje dva vstupy, druhý z nich ale není použit.
  • Pomocí funkce draw_perm_reps() vygeneruj 10 000 permutačních replikátů podílu hlasů demokratů „pro".
  • Vypočítej a vypiš p-hodnotu.

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

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

# Construct arrays of data: dems, reps
dems = np.array([True] * 153 + [False] * 91)
reps = ____

def frac_yea_dems(dems, reps):
    """Compute fraction of Democrat yea votes."""
    frac = ____ / ____
    return frac

# Acquire permutation samples: perm_replicates
perm_replicates = ____(____, ____, frac_yea_dems, ____)

# Compute and print p-value: p
p = np.sum(____ <= 153/244) / len(____)
print('p-value =', p)
Upravit a spustit kód