การแสดงผลลัพธ์การ Resampling
ตอนนี้มาแสดงผลลัพธ์ของการจำลองจากแบบฝึกหัดก่อนหน้ากัน โดยยังคงทำงานกับ nba_weights ซึ่งเป็นรายการน้ำหนักของนักบาสเก็ตบอล NBA กลุ่มหนึ่งในหน่วยกิโลกรัม:
nba_weights = [96.7, 101.1, 97.9, 98.1, 98.1,
100.3, 101.0, 98.0, 97.4]
นี่คือโค้ดการจำลองจากแบบฝึกหัดก่อนหน้า:
simu_weights = []
for i in range(1000):
bootstrap_sample = random.choices(nba_weights, k=9)
simu_weights.append(np.mean(bootstrap_sample))
mean_weight = np.mean(simu_weights)
upper = np.quantile(simu_weights, 0.975)
lower = np.quantile(simu_weights, 0.025)
print(mean_weight, lower, upper)
รายการ simu_weights ที่สร้างไว้ในแบบฝึกหัดก่อนหน้าถูกโหลดไว้ให้แล้ว เช่นเดียวกับ mean_weight, lower และ upper ซึ่งถูกกำหนดค่าเป็นค่าเฉลี่ยและค่าควอนไทล์ที่ 2.5% และ 97.5% สำหรับช่วงความเชื่อมั่น
แพ็กเกจต่อไปนี้ถูกโหลดไว้ให้แล้ว: random, numpy เป็น np, seaborn เป็น sns และ matplotlib.pyplot เป็น plt
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Monte Carlo Simulations ใน Python
คำแนะนำการฝึกหัด
- ใช้
sns.displot()เพื่อพล็อตการแจกแจงของน้ำหนักที่ได้จากการจำลอง - ใช้
plt.axvline()เพื่อพล็อตเส้นแนวตั้งสองเส้นสำหรับช่วงความเชื่อมั่น 95% (พล็อตlowerก่อน แล้วตามด้วยupper) ในสีแดง และค่าเฉลี่ยในสีเขียว
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Plot the distribution of the simulated weights
____
# Plot vertical lines for the 95% confidence intervals and mean
plt.axvline(____, color="red")
plt.axvline(____, color="red")
plt.axvline(____, color="green")
plt.show()