Pemungutan suara untuk Civil Rights Act tahun 1964
Civil Rights Act tahun 1964 adalah salah satu undang-undang terpenting yang pernah disahkan di AS. Dengan mengecualikan suara "present" dan "abstain", 153 anggota DPR dari Partai Demokrat dan 136 dari Partai Republik memilih yea. Namun, 91 Demokrat dan 35 Republik memilih nay. Apakah afiliasi partai berpengaruh terhadap pilihan suara?
Untuk menjawab pertanyaan ini, Anda akan mengevaluasi hipotesis bahwa partai seorang anggota DPR tidak memengaruhi pilihannya. Anda akan menggunakan fraksi Demokrat yang memilih mendukung sebagai statistik uji dan mengevaluasi probabilitas mengamati fraksi Demokrat yang memilih mendukung setidaknya sekecil fraksi teramati 153/244. (Benar, setidaknya sebesar itu dalam arti sekecil. Pada tahun 1964, justru Demokrat yang kurang progresif dalam isu hak-hak sipil.) Untuk melakukannya, permutasikan label partai para pemilih di DPR, lalu bagi secara sewenang-wenang menjadi "Democrats" dan "Republicans" dan hitung fraksi Demokrat yang memilih yea.
Latihan ini adalah bagian dari kursus
Pemikiran Statistik dengan Python (Bagian 2)
Petunjuk latihan
- Bangun array Boolean,
demsdanreps, yang memuat suara dari masing-masing partai; misalnya,demsmemiliki 153 entriTruedan 91 entriFalse. - Tulis fungsi
frac_yea_dems(dems, reps)yang mengembalikan fraksi Demokrat yang memilih yea. Masukan pertama adalah array Boolean. Dua masukan diperlukan untuk menggunakan fungsidraw_perm_reps()Anda, tetapi masukan kedua tidak digunakan. - Gunakan fungsi
draw_perm_reps()Anda untuk mengambil 10.000 replikasi permutasi dari fraksi suara yea Demokrat. - Hitung dan cetak p-value.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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)