การสร้างตัวแปรสุ่มแบบต่อเนื่อง

Monte Carlo Simulations ใน Python

Izzy Weber

Curriculum Manager, DataCamp

การแจกแจงแบบปกติ

รูประฆังคว่ำ มีจุดศูนย์กลางที่ค่าเฉลี่ย (หรือ loc) และความกว้างกำหนดโดยส่วนเบี่ยงเบนมาตรฐาน (หรือ scale)

ความสูงของผู้ชายวัยผู้ใหญ่ชาวอเมริกันมีการแจกแจงแบบปกติ: ฟังก์ชันความหนาแน่นความน่าจะเป็นเชิงทฤษฎีของการแจกแจงแบบปกติ

Monte Carlo Simulations ใน Python

การเปลี่ยน scale (ส่วนเบี่ยงเบนมาตรฐาน)

ฟังก์ชันความหนาแน่นความน่าจะเป็นเชิงทฤษฎีของการแจกแจงแบบปกติที่มีส่วนเบี่ยงเบนมาตรฐานต่างกัน

Monte Carlo Simulations ใน Python

การเปลี่ยน loc (ค่าเฉลี่ย)

ฟังก์ชันความหนาแน่นความน่าจะเป็นเชิงทฤษฎีของการแจกแจงแบบปกติที่มีค่าเฉลี่ยต่างกัน

Monte Carlo Simulations ใน Python

การเปลี่ยนทั้ง scale และ loc

ฟังก์ชันความหนาแน่นความน่าจะเป็นเชิงทฤษฎีของการแจกแจงแบบปกติที่มีส่วนเบี่ยงเบนมาตรฐานและค่าเฉลี่ยต่างกัน

Monte Carlo Simulations ใน Python

การสุ่มตัวอย่างจากการแจกแจงแบบปกติ

  • ความสูงของผู้ชายวัยผู้ใหญ่ชาวอเมริกันมีการแจกแจงแบบปกติ; ค่าเฉลี่ย = 177 ซม.; ส่วนเบี่ยงเบนมาตรฐาน = 8 ซม.

  • ผู้ที่มีความสูงเกิน 190 ซม. หรือต่ำกว่า 165 ซม. คิดเป็นกี่เปอร์เซ็นต์?

heights = st.norm.rvs(loc=177, scale=8, size=10000)

qualified = (heights < 165) | (heights > 190)
print(np.sum(qualified) * 100/10000)
12.28
Monte Carlo Simulations ใน Python

การพล็อตผลลัพธ์จากการจำลอง

heights_dict = {"heights":heights}
sns.histplot(x="heights", data=heights_dict)
plt.axvline(x=165, color="red")
plt.axvline(x=190, color="red")

ฮิสโตแกรมของตัวอย่างที่สุ่มจากการแจกแจงแบบปกติ

Monte Carlo Simulations ใน Python

การแจกแจงความน่าจะเป็นต่อเนื่องอื่น ๆ

  • การแจกแจงแบบสม่ำเสมอต่อเนื่อง (st.uniform)
    • รูปแบบต่อเนื่องที่สอดคล้องกับการแจกแจงแบบสม่ำเสมอไม่ต่อเนื่อง
  • การแจกแจงแบบเอกซ์โพเนนเชียล (st.expon)
    • รูปแบบต่อเนื่องที่สอดคล้องกับการแจกแจงแบบเรขาคณิต
1 https://docs.scipy.org/doc/scipy/tutorial/stats/continuous.html
Monte Carlo Simulations ใน Python

มาฝึกกันเถอะ!

Monte Carlo Simulations ใน Python

Preparing Video For Download...