開始使用免費開始

全國選舉

這個練習會讓你體驗如何用不同複雜度來建構一個 DGP(資料產生過程)。

想像一個只有兩個政黨(Red 與 Blue)的國家進行全國選舉。這個國家有 50 個州,贏得最多州的政黨即贏得選舉。你有 Red 在各州獲勝的機率 p,想知道 Red 在全國範圍內獲勝的機率。

讓我們來建模這個 DGP 以理解其分布。假設各州的選舉結果服從以機率 p 的二項分布,其中 0 代表 Red 落敗,1 代表 Red 獲勝。接著我們模擬多次選舉結果。最後,我們可以提出更深入的問題,例如:Red 贏得少於 45% 州別的機率是多少?

本練習屬於課程

Python 的統計模擬

檢視課程

練習說明

  • 使用 np.random.binomial()p = probsn=1 模擬一次選舉,指派為 election
  • election 中 Red 的勝場平均值加入 outcomes
  • 計算在 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(____))
編輯並執行程式碼