การทดสอบแบบอนาล็อกกับเวลาบนเว็บไซต์
ที่ผ่านมาคุณได้ทำการทดสอบสมมติฐานที่คล้ายกับ A/B test ซึ่งสนใจว่าผู้ใช้ใช้เวลาบนเว็บไซต์นานเพียงใดก่อนและหลังแคมเปญโฆษณา แรงของลิ้นกบ (ซึ่งเป็นปริมาณต่อเนื่อง เช่นเดียวกับเวลาบนเว็บไซต์) เป็นตัวอุปมาที่ดี โดย "ก่อน" = กบ A และ "หลัง" = กบ B คราวนี้มาฝึกอีกครั้งกับสถานการณ์ที่เป็น before/after จริง ๆ
เรากลับมาที่ชุดข้อมูล no-hitter อีกครั้ง ในปี 1920 Major League Baseball ได้บังคับใช้กฎใหม่ที่สำคัญ ซึ่งยุติยุคที่เรียกว่า dead ball era โดยเฉพาะอย่างยิ่ง นักขว้างไม่ได้รับอนุญาตให้บ้วนน้ำลายหรือขูดลูกบอลอีกต่อไป ซึ่งเป็นกลวิธีที่เป็นประโยชน์ต่อนักขว้างอย่างมาก ในแบบฝึกหัดนี้ คุณจะทำ A/B test เพื่อพิจารณาว่าการเปลี่ยนแปลงกฎเหล่านี้ส่งผลให้อัตรา no-hitter ช้าลงหรือไม่ (กล่าวคือ ระยะเวลาเฉลี่ยระหว่าง no-hitter ยาวขึ้น) โดยใช้ผลต่างของค่าเฉลี่ยระยะเวลาระหว่าง no-hitter เป็น test statistic ข้อมูลระยะเวลาระหว่าง no-hitter ของแต่ละยุคเก็บอยู่ใน array nht_dead และ nht_live โดย "nht" ย่อมาจาก "no-hitter time"
เนื่องจากแบบฝึกหัดนี้ใช้ฟังก์ชัน draw_perm_reps() อาจเป็นประโยชน์หากทบทวน call signature ของฟังก์ชันนี้ก่อน ได้แก่ draw_perm_reps(d1, d2, func, size=1) หรือย้อนกลับไปดู แบบฝึกหัดในบทที่ 3 ที่คุณได้นิยามฟังก์ชันนี้ไว้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Statistical Thinking in Python (ตอนที่ 2)
คำแนะนำการฝึกหัด
- คำนวณผลต่างของค่าเฉลี่ยระยะเวลาระหว่าง no-hitter ที่สังเกตได้ โดยใช้
diff_of_means() - สร้าง permutation replicate ของผลต่างค่าเฉลี่ยจำนวน 10,000 ค่า โดยใช้
draw_perm_reps() - คำนวณและแสดงค่า p-value
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Compute the observed difference in mean inter-no-hitter times: nht_diff_obs
nht_diff_obs = ____
# Acquire 10,000 permutation replicates of difference in mean no-hitter time: perm_replicates
perm_replicates = ____
# Compute and print the p-value: p
p = ____
print('p-val =', p)