Votul pentru Legea Drepturilor Civile din 1964
Legea Drepturilor Civile din 1964 a fost unul dintre cele mai importante acte legislative adoptate vreodată în SUA. Excluzând voturile „prezent" și „abținere", 153 de democrați și 136 de republicani din Camera Reprezentanților au votat pentru. Însă 91 de democrați și 35 de republicani au votat împotrivă. A contat apartenența politică în exprimarea votului?
Pentru a răspunde la această întrebare, vei evalua ipoteza că partidul unui membru al Camerei Reprezentanților nu are nicio influență asupra votului său. Vei folosi fracțiunea democraților care au votat pentru ca statistică de test și vei evalua probabilitatea de a observa o fracțiune a democraților care votează pentru cel puțin la fel de mică ca fracțiunea observată de 153/244. (Exact, cel puțin la fel de mică. În 1964, democrații erau cei mai puțin progresivi în privința drepturilor civile.) Pentru aceasta, vei permuta etichetele de partid ale votanților din Cameră și le vei împărți arbitrar în „democrați" și „republicani", calculând apoi fracțiunea democraților care au votat pentru.
Acest exercițiu face parte din cursul
Gândire statistică în Python (Partea 2)
Instrucțiuni pentru exercițiu
- Construiește array-uri Boolean,
demsșireps, care să conțină voturile partidelor respective; de exemplu,demsare 153 de intrăriTrueși 91 de intrăriFalse. - Scrie o funcție,
frac_yea_dems(dems, reps), care returnează fracțiunea democraților ce au votat pentru. Prima intrare este un array de valori Boolean. Sunt necesare două intrări pentru a folosi funcțiadraw_perm_reps(), însă a doua nu este utilizată. - Folosește funcția
draw_perm_reps()pentru a genera 10.000 de replici de permutare ale fracțiunii voturilor democraților pentru. - Calculează și afișează p-valoarea.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)