Загальнонаціональні вибори
Ця вправа дасть вам уявлення про те, як можна моделювати процес генерування даних (DGP) на різних рівнях складності.
Розгляньмо загальнонаціональні вибори в країні з двома політичними партіями — Red і Blue. У країні є 50 штатів, і партія, що виграє більшість штатів, перемагає на виборах. У вас є ймовірність \(p\) перемоги Red у кожному окремому штаті, і ви хочете дізнатися ймовірність їхньої загальнонаціональної перемоги.
Змоделюймо DGP, щоб зрозуміти розподіл. Припустімо, що результат виборів у кожному штаті підпорядковується біноміальному розподілу з ймовірністю \(p\), де \(0\) означає поразку Red, а \(1\) — перемогу. Потім ми моделюємо низку можливих результатів виборів. Нарешті, можемо ставити конкретні запитання, наприклад: яка ймовірність того, що Red виграє менш ніж 45% штатів?
Ця вправа є частиною курсу
Статистичне моделювання в Python
Інструкції до вправи
- Змоделюйте одні вибори за допомогою
np.random.binomial()зp = probsтаn=1. Присвойте результат зміннійelection. - Додайте до
outcomesсереднє значення перемог Red уelection. - Обчисліть частку значень у
outcomes, де Red виграла менш ніж 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(____))