ลองใช้การแจกแจงความน่าจะเป็นแบบอื่น
การเลือกการแจกแจงความน่าจะเป็นของข้อมูลอินพุตที่เหมาะสมถือเป็นสิ่งสำคัญในการทำ Monte Carlo Simulation ในวิดีโอ มีการประเมินการแจกแจง 3 แบบเพื่อหาแบบที่เหมาะกับตัวแปร age มากที่สุด ได้แก่ การแจกแจงแบบ Laplace, Normal และ Exponential ซึ่งผลปรากฏว่า Normal Distribution ให้ความเหมาะสมดีที่สุด
ในแบบฝึกหัดนี้ ลองดูว่ามีการแจกแจงแบบใดที่ให้ค่าความเหมาะสมดีกว่า Normal Distribution หรือไม่ โดยจะประเมินการแจกแจงแบบ Uniform, Normal และ Exponential ชุดข้อมูล Diabetes ถูกโหลดไว้ในรูปแบบ DataFrame ชื่อ dia แล้ว Normal Distribution จะยังคงเป็นตัวเลือกที่ดีที่สุดอยู่หรือเปล่า?
ไลบรารีต่อไปนี้ถูก import ไว้ให้แล้ว: pandas ในชื่อ pd, scipy.stats ในชื่อ st และ numpy ในชื่อ np
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Monte Carlo Simulations ใน Python
คำแนะนำการฝึกหัด
- ใช้
.fit()เพื่อ fit การแจกแจงกับข้อมูลageจากนั้นใช้.nnlf()เพื่อหาค่า Maximum Likelihood Estimation (MLE) ของการ fit นั้น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
distributions = [st.uniform, st.norm, st.expon]
mles = []
for distribution in distributions:
# Fit the distribution and obtain the MLE value
pars = distribution.____
mle = distribution.____
mles.append(mle)
print(mles)