Nationella val
Den här övningen ger dig en inblick i hur du kan modellera en datageneringsprocess på olika nivåer av komplexitet.
Tänk dig nationella val i ett land med två politiska partier – Rött och Blått. Landet har 50 delstater och det parti som vinner flest delstater vinner valet. Du har sannolikheten \(p\) för att Rött vinner i varje enskild delstat och vill ta reda på sannolikheten för att Rött vinner nationellt.
Låt oss modellera datageneringsprocessen för att förstå fördelningen. Anta att valresultatet i varje delstat följer en binomialfördelning med sannolikheten \(p\), där \(0\) innebär en förlust för Rött och \(1\) innebär en vinst. Vi simulerar sedan ett antal valutfall. Till sist kan vi ställa mer komplexa frågor, till exempel: vad är sannolikheten för att Rött vinner mindre än 45 % av delstaterna?
Den här övningen är en del av kursen
Statistisk simulering i Python
Övningsinstruktioner
- Simulera ett val med
np.random.binomial()medp = probsochn=1. Spara resultatet ielection. - Lägg till medelvärdet av Rötts vinster i
electiontilloutcomes. - Beräkna andelen av
outcomesdär Rött vann mindre än 45 % av delstaterna. Spara det somprob_red_winsoch använd det för att skriva ut resultatet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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(____))