Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zasymuluj jedne wybory, używając np.random.binomial() z parametrami p = probs i n=1. Przypisz wynik do zmiennej election.
  • Dołącz średnią wygranych Czerwonych w election do listy outcomes.
  • Oblicz, jaka część wyników z outcomes odpowiada sytuacji, w której Czerwoni wygrali mniej niż 45% stanów. Zapisz ten wynik jako prob_red_wins i 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(____))
Edytuj i uruchom kod