วิธีดำเนินการ Permutation Test
จากผล EDA และค่าประมาณพารามิเตอร์ที่ได้ เราพบว่าเป็นเรื่องยากที่จะบอกได้ว่ามีการพัฒนาฝีมือจากรอบรองชนะเลิศไปสู่รอบชิงชนะเลิศหรือไม่ ในแบบฝึกหัดถัดไป เราจะทดสอบสมมติฐานที่ว่าไม่มีความแตกต่างด้านประสิทธิภาพระหว่างสองรอบนี้ การทดสอบด้วย Permutation Test เหมาะสมสำหรับกรณีนี้ โดยเราจะใช้ค่าเฉลี่ยของ f เป็นสถิติทดสอบ กลยุทธ์ใดต่อไปนี้จำลองการหาสถิติทดสอบภายใต้สมมติฐานหลักได้อย่างถูกต้อง?
- กลยุทธ์ที่ 1
- นำอาร์เรย์เวลารอบรองชนะเลิศและอาร์เรย์เวลารอบชิงชนะเลิศของนักว่ายน้ำแต่ละคนในแต่ละประเภทท่า/ระยะทางมาใช้งาน
- วนผ่านแต่ละอาร์เรย์ และสำหรับแต่ละดัชนี ให้สลับค่าในอาร์เรย์รอบชิงชนะเลิศกับรอบรองชนะเลิศด้วยความน่าจะเป็น 50%
- นำอาร์เรย์รอบชิงชนะเลิศและรอบรองชนะเลิศที่ได้มาคำนวณ
fแล้วจึงคำนวณค่าเฉลี่ยของf - กลยุทธ์ที่ 2
- นำอาร์เรย์เวลารอบรองชนะเลิศและอาร์เรย์เวลารอบชิงชนะเลิศของนักว่ายน้ำแต่ละคนในแต่ละประเภทท่า/ระยะทางมาต่อกัน รวมได้ทั้งหมด 96 รายการ
- สับเปลี่ยนอาร์เรย์ที่ต่อกันด้วยฟังก์ชัน
np.permutation()กำหนดให้ 48 รายการแรกในอาร์เรย์ที่สับแล้วเป็น "รอบรองชนะเลิศ" และ 48 รายการหลังเป็น "รอบชิงชนะเลิศ" - คำนวณ
fจากอาร์เรย์รอบรองชนะเลิศและรอบชิงชนะเลิศชุดใหม่ แล้วจึงคำนวณค่าเฉลี่ยของf - กลยุทธ์ที่ 3
- นำอาร์เรย์
fที่ใช้ในแบบฝึกหัดก่อนหน้ามาใช้ - คูณแต่ละค่าใน
fด้วย1หรือ-1ด้วยความน่าจะเป็นเท่ากัน - คำนวณค่าเฉลี่ยของอาร์เรย์ใหม่นี้เพื่อรับสถิติทดสอบ
- กลยุทธ์ที่ 4
- กำหนดฟังก์ชันที่มี signature
compute_f(semi_times, final_times)สำหรับคำนวณfจากอาร์เรย์เวลาว่ายน้ำที่ป้อนเข้า - ดึง Permutation Replicate โดยใช้
dcst.draw_perm_reps(semi_times, final_times, compute_f)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
กรณีศึกษาด้านการคิดเชิงสถิติ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง
เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา
เริ่มแบบฝึกหัด