การสุ่มตัวอย่างจากการแจกแจงแบบเรขาคณิต
Eva มีเหรียญที่ถูกดัดแปลง โดยมีโอกาสออกหัวเพียง 20% เท่านั้น Eva โยนเหรียญและบันทึกจำนวนครั้งที่ต้องโยนจนกว่าจะได้ผลหัว
การแจกแจงแบบเรขาคณิตเหมาะอย่างยิ่งสำหรับจำลองจำนวนครั้งที่ต้องโยนจนได้หัว โดยกำหนดอัตราความสำเร็จ p เป็นความน่าจะเป็นที่เหรียญจะออกหัวในแต่ละครั้ง
โจทย์ของคุณคือใช้การแจกแจงแบบเรขาคณิตจำลองการโยนเหรียญของ Eva จนได้หัว 10,000 ครั้ง พร้อมบันทึกจำนวนครั้งที่ต้องโยนในแต่ละรอบ จากนั้นนำผลลัพธ์มาแสดงเป็นกราฟ
ไลบรารีต่อไปนี้ถูก import ไว้ให้แล้ว: seaborn เป็น sns, pandas เป็น pd, โมดูล stats ของ SciPy เป็น st และ matplotlib.pyplot เป็น plt
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Monte Carlo Simulations ใน Python
คำแนะนำการฝึกหัด
- กำหนดค่า
pให้เป็นความน่าจะเป็นของความสำเร็จที่เหมาะสม โดยนิยามความสำเร็จคือการโยนได้หัว - โดยใช้
pเป็นความน่าจะเป็นของความสำเร็จ ให้สุ่มตัวอย่างจากการแจกแจงแบบเรขาคณิตst.geomจำนวน 10,000 ครั้ง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Set p to the appropriate probability of success
p = ____
# Sample from the geometric distribution 10,000 times
samples = ____
samples_dict = {"nums":samples}
sns.histplot(x="nums", data=samples_dict)
plt.show()