Национальные выборы
В этом упражнении вы познакомитесь с тем, как моделировать процесс генерации данных на разных уровнях сложности.
Рассмотрим национальные выборы в стране, где соперничают две политические партии — Красная и Синяя. В стране 50 штатов, и побеждает та партия, которая выигрывает большинство из них. Вам известна вероятность \(p\) победы Красной партии в каждом отдельном штате, и вы хотите узнать вероятность её победы на национальном уровне.
Смоделируем процесс генерации данных, чтобы изучить распределение. Предположим, что результат выборов в каждом штате подчиняется биномиальному распределению с вероятностью \(p\): \(0\) означает поражение Красной партии, \(1\) — победу. Затем мы симулируем несколько сценариев выборов. В итоге можно задавать содержательные вопросы, например: какова вероятность того, что Красная партия выиграет менее 45% штатов?
Это упражнение является частью курса
Статистическое моделирование на Python
Инструкции к упражнению
- Симулируйте одни выборы с помощью
np.random.binomial(), задавp = probsиn=1. Сохраните результат в переменнуюelection. - Добавьте среднее значение побед Красной партии из
electionв списокoutcomes. - Вычислите долю значений в
outcomes, при которых Красная партия выиграла менее 45% штатов. Сохраните результат в переменнуюprob_red_winsи выведите его на экран.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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(____))