Wybory krajowe
To ćwiczenie pozwoli ci zobaczyć, jak można modelować proces generowania danych (DGP) na różnych poziomach złożoności.
Rozważ wybory krajowe w państwie z dwiema partiami politycznymi – Czerwoną i Niebieską. Kraj składa się z 50 stanów, a partia, która zdobędzie większość stanów, wygrywa wybory. Znasz prawdopodobieństwo \(p\) wygranej Czerwonych w każdym stanie i chcesz wyznaczyć prawdopodobieństwo ich zwycięstwa w skali całego kraju.
Zamodelujemy DGP, aby zrozumieć rozkład wyników. Przyjmijmy, że wynik wyborów w każdym stanie ma rozkład dwumianowy z prawdopodobieństwem \(p\), gdzie \(0\) oznacza przegraną Czerwonych, a \(1\) – ich wygraną. Następnie zasymulujemy wiele scenariuszy wyborczych. Dzięki temu będziemy mogli odpowiedzieć na pytania takie jak: jakie jest prawdopodobieństwo, że Czerwoni wygrają mniej niż 45% stanów?
To ćwiczenie jest częścią kursu
Symulacje statystyczne w Pythonie
Instrukcje do ćwiczenia
- Zasymuluj jedne wybory, używając
np.random.binomial()z parametramip = probsin=1. Przypisz wynik do zmiennejelection. - Dołącz średnią wygranych Czerwonych w
electiondo listyoutcomes. - Oblicz, jaka część wyników z
outcomesodpowiada sytuacji, w której Czerwoni wygrali mniej niż 45% stanów. Zapisz ten wynik jakoprob_red_winsi wyświetl go.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
outcomes, sims, probs = [], 1000, p
for _ in range(sims):
# Simulate elections in the 50 states
election = ____
# Get average of Red wins and add to `outcomes`
outcomes.append(____)
# Calculate probability of Red winning in less than 45% of the states
prob_red_wins = ____
print("Probability of Red winning in less than 45% of the states = {}".format(____))