Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Simulera ett val med np.random.binomial() med p = probs och n=1. Spara resultatet i election.
  • Lägg till medelvärdet av Rötts vinster i election till outcomes.
  • Beräkna andelen av outcomes där Rött vann mindre än 45 % av delstaterna. Spara det som prob_red_wins och 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(____))
Redigera och kör kod