ข้อมูลสอดคล้องกับสมมติฐานของเราหรือไม่?
คุณได้สร้างโมเดลของ no-hitter โดยใช้การแจกแจงแบบเอกซ์โพเนนเชียลแล้ว ตอนนี้ให้สร้าง ECDF จากข้อมูลจริง แล้วซ้อนทับ CDF เชิงทฤษฎีกับ ECDF จากข้อมูล เพื่อตรวจสอบว่าการแจกแจงแบบเอกซ์โพเนนเชียลอธิบายข้อมูลที่สังเกตได้ดีเพียงใด
อาจเป็นประโยชน์ถ้าทบทวนฟังก์ชันที่เขียนไว้ในคอร์สก่อนหน้า สำหรับการคำนวณ ECDF รวมถึงโค้ดที่ใช้พล็อตกราฟ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Statistical Thinking in Python (ตอนที่ 2)
คำแนะนำการฝึกหัด
- คำนวณ ECDF จากช่วงเวลาจริงระหว่าง no-hitter (
nohitter_times) โดยใช้ฟังก์ชันecdf()ที่เขียนไว้ในคอร์สก่อนหน้า - สร้าง CDF จากตัวอย่างเชิงทฤษฎีที่ได้จากแบบฝึกหัดที่แล้ว (
inter_nohitter_time) - พล็อต
x_theorและy_theorเป็นเส้นโดยใช้plt.plot()จากนั้นซ้อนทับ ECDF ของข้อมูลจริงxและyเป็นจุด โดยระบุ keyword argumentsmarker = '.'และlinestyle = 'none'เพิ่มเติมนอกเหนือจากxและyภายในplt.plot() - กำหนดระยะขอบของกราฟเป็น 2%
- แสดงกราฟ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create an ECDF from real data: x, y
x, y = ____
# Create a CDF from theoretical samples: x_theor, y_theor
x_theor, y_theor = ____
# Overlay the plots
plt.plot(____, ____)
plt.plot(____, ____, marker=____, linestyle=____)
# Margins and axis labels
plt.margins(____)
plt.xlabel('Games between no-hitters')
plt.ylabel('CDF')
# Show the plot
plt.show()