全國選舉
這個練習會讓你體驗如何用不同複雜度來建構一個 DGP(資料產生過程)。
想像一個只有兩個政黨(Red 與 Blue)的國家進行全國選舉。這個國家有 50 個州,贏得最多州的政黨即贏得選舉。你有 Red 在各州獲勝的機率 p,想知道 Red 在全國範圍內獲勝的機率。
讓我們來建模這個 DGP 以理解其分布。假設各州的選舉結果服從以機率 p 的二項分布,其中 0 代表 Red 落敗,1 代表 Red 獲勝。接著我們模擬多次選舉結果。最後,我們可以提出更深入的問題,例如:Red 贏得少於 45% 州別的機率是多少?
本練習屬於課程
Python 的統計模擬
練習說明
- 使用
np.random.binomial()、p = probs、n=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(____))