การเลือกตั้งระดับประเทศ
แบบฝึกหัดนี้จะช่วยให้เห็นภาพว่าสามารถจำลอง DGP ได้ในหลายระดับความซับซ้อน
ลองพิจารณาการเลือกตั้งระดับประเทศในประเทศที่มีสองพรรคการเมือง ได้แก่ Red และ Blue ประเทศนี้มี 50 รัฐ และพรรคที่ชนะมากกว่าครึ่งหนึ่งของรัฐทั้งหมดจะเป็นผู้ชนะการเลือกตั้ง กำหนดให้ \(p\) คือความน่าจะเป็นที่ Red จะชนะในแต่ละรัฐ และต้องการทราบความน่าจะเป็นที่ Red จะชนะในระดับประเทศ
มาจำลอง DGP เพื่อวิเคราะห์การกระจายตัวกัน สมมติว่าผลการเลือกตั้งในแต่ละรัฐเป็นไปตามการแจกแจงทวินามที่มีความน่าจะเป็น \(p\) โดย \(0\) หมายถึง Red แพ้ และ \(1\) หมายถึง Red ชนะ จากนั้นจึงจำลองผลการเลือกตั้งหลายครั้ง แล้วตอบคำถามที่น่าสนใจ เช่น ความน่าจะเป็นที่ Red จะชนะน้อยกว่า 45% ของรัฐทั้งหมดคือเท่าใด?
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจำลองทางสถิติด้วย Python
คำแนะนำการฝึกหัด
- จำลองผลการเลือกตั้งหนึ่งครั้งโดยใช้
np.random.binomial()โดยกำหนดp = probsและn=1แล้วเก็บผลไว้ในelection - เพิ่มค่าเฉลี่ยชัยชนะของ Red ใน
electionลงใน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(____))