Celostátní volby
V tomto cvičení si vyzkoušíš, jak lze modelovat proces generování dat (DGP) na různých úrovních složitosti.
Uvažujme celostátní volby v zemi se dvěma politickými stranami – Červenými a Modrými. Tato země má 50 států a vítězem voleb se stane strana, která ovládne nejvíce z nich. Máš k dispozici pravděpodobnost \(p\), že Červení vyhrají v každém jednotlivém státě, a chceš zjistit pravděpodobnost jejich celostátního vítězství.
Pomozte si modelem DGP pro pochopení rozdělení. Předpokládejme, že výsledek voleb v každém státě sleduje binomické rozdělení s pravděpodobností \(p\), kde \(0\) znamená prohru Červených a \(1\) jejich výhru. Poté nasimulujeme řadu volebních výsledků. Díky tomu si můžeme položit zajímavé otázky, například: jaká je pravděpodobnost, že Červení získají méně než 45 % států?
Toto cvičení je součástí kurzu
Statistické simulace v Pythonu
Pokyny k cvičení
- Simuluj jedny volby pomocí
np.random.binomial()s parametryp = probsan=1. Výsledek ulož do proměnnéelection. - Připoj průměr výher Červených z
electiondooutcomes. - Vypočítej podíl výsledků v
outcomes, při kterých Červení získali méně než 45 % států. Ulož ho jakoprob_red_winsa použij ho pro výpis výsledků.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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(____))