LoslegenKostenlos loslegen

Die Abstimmung über den Civil Rights Act von 1964

Der Civil Rights Act von 1964 war eines der wichtigsten Gesetze, die je in den USA verabschiedet wurden. Ohne „present“- und „abstain“-Stimmen stimmten 153 Demokraten im Repräsentantenhaus und 136 Republikaner mit Ja. Allerdings stimmten 91 Demokraten und 35 Republikaner mit Nein. Hatte die Parteizugehörigkeit Einfluss auf das Abstimmungsverhalten?

Um diese Frage zu beantworten, bewertest du die Hypothese, dass die Partei eines Mitglieds des Repräsentantenhauses keinen Einfluss auf seine oder ihre Stimme hat. Du verwendest den Anteil der Demokraten, die dafür gestimmt haben, als Teststatistik und bewertest die Wahrscheinlichkeit, einen Anteil der zustimmenden Demokraten zu beobachten, der mindestens so klein ist wie der beobachtete Anteil von 153/244. (Genau, mindestens so klein. 1964 waren es die Demokraten, die bei Bürgerrechtsfragen weniger progressiv waren.) Dazu permutierst du die Parteilabel der Abgeordneten, teilst sie anschließend willkürlich in „Democrats“ und „Republicans“ auf und berechnest den Anteil der Demokraten, die „yea“ gestimmt haben.

Diese Übung ist Teil des Kurses

Statistical Thinking in Python (Teil 2)

Kurs anzeigen

Anleitung zur Übung

  • Erstelle boolesche Arrays dems und reps, die die Stimmen der jeweiligen Parteien enthalten; z. B. hat dems 153 True- und 91 False-Einträge.
  • Schreibe eine Funktion frac_yea_dems(dems, reps), die den Anteil der Demokraten zurückgibt, die „yea“ gestimmt haben. Die erste Eingabe ist ein Array aus Booleans. Zwei Eingaben sind nötig, um deine Funktion draw_perm_reps() zu verwenden, aber die zweite wird nicht genutzt.
  • Verwende deine Funktion draw_perm_reps(), um 10.000 Permutationsreplikate des Anteils der Ja-Stimmen der Demokraten zu ziehen.
  • Berechne und gib den p-Wert aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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)
Code bearbeiten und ausführen