Cuộc bỏ phiếu về Đạo luật Dân quyền năm 1964
Đạo luật Dân quyền năm 1964 là một trong những văn bản luật quan trọng nhất từng được thông qua ở Hoa Kỳ. Bỏ qua các lá phiếu "present" và "abstain", có 153 Hạ nghị sĩ Dân chủ và 136 Cộng hòa bỏ phiếu tán thành (yea). Tuy nhiên, 91 Dân chủ và 35 Cộng hòa bỏ phiếu phản đối (nay). Liệu việc thuộc đảng nào có tạo khác biệt trong kết quả bỏ phiếu không?
Để trả lời câu hỏi này, bạn sẽ đánh giá giả thuyết rằng việc một Hạ nghị sĩ thuộc đảng nào không ảnh hưởng đến lá phiếu của họ. Bạn sẽ dùng tỷ lệ Dân chủ bỏ phiếu tán thành làm thống kê kiểm định và ước tính xác suất quan sát được một tỷ lệ Dân chủ bỏ phiếu tán thành nhỏ hơn hoặc bằng tỷ lệ quan sát 153/244. (Đúng vậy, nhỏ hơn hoặc bằng. Năm 1964, chính các nghị sĩ Dân chủ kém tiến bộ hơn về các vấn đề dân quyền.) Để làm điều này, hãy hoán vị nhãn đảng của các Hạ nghị sĩ, sau đó chia ngẫu nhiên họ thành "Democrats" và "Republicans" và tính tỷ lệ Dân chủ bỏ phiếu yea.
Bài tập này là một phần của khóa học
Tư duy Thống kê với Python (Phần 2)
Hướng dẫn bài tập
- Tạo các mảng Boolean,
demsvàreps, chứa các lá phiếu của từng đảng; ví dụ,demscó 153 phần tửTruevà 91 phần tửFalse. - Viết một hàm,
frac_yea_dems(dems, reps), trả về tỷ lệ Dân chủ bỏ phiếu tán thành. Đầu vào thứ nhất là một mảng Boolean. Cần hai đầu vào để dùng hàmdraw_perm_reps()của bạn, nhưng đầu vào thứ hai sẽ không dùng đến. - Dùng hàm
draw_perm_reps()của bạn để rút 10.000 mẫu hoán vị của tỷ lệ phiếu tán thành từ Đảng Dân chủ. - Tính và in ra p-value.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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)