ตัวอย่างความน่าจะเป็น
ในแบบฝึกหัดนี้ เราจะทบทวนความแตกต่างระหว่างการสุ่มตัวอย่างแบบคืนและไม่คืน โดยจะคำนวณความน่าจะเป็นของเหตุการณ์หนึ่งผ่านการจำลอง แล้วเปลี่ยนวิธีการสุ่มเพื่อดูว่าส่งผลต่อความน่าจะเป็นอย่างไร
สมมติว่ามีชามลูกอมสีต่าง ๆ ประกอบด้วยสีน้ำเงิน 3 เม็ด สีเขียว 2 เม็ด และสีเหลือง 5 เม็ด จงหยิบลูกอม 3 เม็ด ครั้งละ 1 เม็ด ทั้งแบบคืนและไม่คืน แล้วคำนวณความน่าจะเป็นที่ ลูกอมทั้ง 3 เม็ดเป็นสีเหลืองทั้งหมด
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจำลองทางสถิติด้วย Python
คำแนะนำการฝึกหัด
- สร้าง
bowlเป็น list ที่มีลูกอมสีน้ำเงิน'b'3 เม็ด สีเขียว'g'2 เม็ด และสีเหลือง'y'5 เม็ด - สุ่มตัวอย่างลูกอม 3 เม็ด แบบคืน (
sample_rep) และแบบไม่คืน (sample_no_rep) - สำหรับตัวอย่างแบบคืน ถ้าไม่มีลูกอม
'b'หรือ'g'ในsample_repให้เพิ่มค่าsuccess_repขึ้น 1 ในทำนองเดียวกัน ให้เพิ่มค่าsuccess_no_repเมื่อไม่มีลูกอม'b'หรือ'g'ในsample_no_rep - คำนวณความน่าจะเป็นของแต่ละแบบโดยหารจำนวนครั้งที่สำเร็จด้วยจำนวนรอบทั้งหมด
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Set up the bowl
success_rep, success_no_rep, sims = 0, 0, 10000
bowl = list(____*3 + ____*2 + ____*5)
for i in range(sims):
# Sample with and without replacement & increment success counters
sample_rep = np.random.____(bowl, size=3, replace=____)
sample_no_rep = np.random.____(bowl, size=3, replace=____)
if ('b' not in sample_rep) & ('g' not in sample_rep) :
____
if ('b' not in sample_no_rep) & ('g' not in sample_no_rep) :
____
# Calculate probabilities
prob_with_replacement = ____/sims
prob_without_replacement = ____/sims
print("Probability with replacement = {}, without replacement = {}".format(prob_with_replacement, prob_without_replacement))