ПочатиПочніть безкоштовно

Голосування за Закон про громадянські права 1964 року

Закон про громадянські права 1964 року — один із найважливіших законодавчих актів, ухвалених у США. Якщо не враховувати голоси «present» і «abstain», 153 демократи Палати представників і 136 республіканців проголосували «yea». Водночас 91 демократ і 35 республіканців проголосували «nay». Чи вплинула партійна приналежність на результат голосування?

Щоб відповісти на це запитання, ви оціните гіпотезу, що партія члена Палати не впливає на його або її голос. Ви використаєте частку демократів, які проголосували «за», як статистику перевірки та оціните ймовірність спостерігати частку демократів «за», принаймні таку ж малу, як спостережувана 153/244. Саме так — принаймні таку ж малу. У 1964 році саме демократи були менш прогресивними щодо питань громадянських прав. Для цього переставте партійні мітки виборців Палати, а потім довільно розділіть їх на «Democrats» і «Republicans» та обчисліть частку демократів, які проголосували «yea».

Ця вправа є частиною курсу

Статистичне мислення в Python (Частина 2)

Переглянути курс

Інструкції до вправи

  • Створіть булеві масиви dems і reps, що містять голоси відповідних партій; наприклад, dems має 153 елементи True та 91 елемент False.
  • Напишіть функцію frac_yea_dems(dems, reps), яка повертає частку демократів, що проголосували «yea». Перший вхід — масив булевих значень. Два входи потрібні, щоб використати вашу функцію draw_perm_reps(), але другий не використовується.
  • Використайте вашу функцію draw_perm_reps() і згенеруйте 10 000 перестановних реплік частки голосів демократів «yea».
  • Обчисліть і виведіть p-значення.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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)
Редагувати та запускати код