CommencerCommencer gratuitement

Le vote sur le Civil Rights Act en 1964

Le Civil Rights Act de 1964 est l’un des textes de loi les plus importants jamais adoptés aux États-Unis. En excluant les votes « présent » et « abstention », 153 démocrates de la Chambre et 136 républicains ont voté « yea ». Cependant, 91 démocrates et 35 républicains ont voté « nay ». L’appartenance à un parti a-t-elle influencé le vote ?

Pour répondre à cette question, vous allez évaluer l’hypothèse selon laquelle le parti d’un membre de la Chambre n’a aucune incidence sur son vote. Vous utiliserez la proportion de démocrates ayant voté en faveur comme statistique de test et évaluerez la probabilité d’observer une proportion de démocrates en faveur au moins aussi faible que la proportion observée de 153/244. (Oui, au moins aussi faible. En 1964, ce sont les démocrates qui étaient moins progressistes sur les questions de droits civiques.) Pour ce faire, permutez les étiquettes de parti des votants de la Chambre, puis divisez-les arbitrairement en « démocrates » et « républicains » et calculez la proportion de démocrates ayant voté « yea ».

Cet exercice fait partie du cours

Réflexion statistique en Python (Partie 2)

Afficher le cours

Instructions

  • Construisez des tableaux booléens, dems et reps, qui contiennent les votes des partis respectifs ; par exemple, dems comporte 153 entrées True et 91 entrées False.
  • Écrivez une fonction frac_yea_dems(dems, reps) qui renvoie la proportion de démocrates ayant voté « yea ». Le premier argument est un tableau de booléens. Deux arguments sont requis pour utiliser votre fonction draw_perm_reps(), mais le second n’est pas utilisé.
  • Utilisez votre fonction draw_perm_reps() pour tirer 10 000 réplicats par permutation de la proportion de votes « yea » des démocrates.
  • Calculez et affichez la valeur p.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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)
Modifier et exécuter le code