วิธีทำการทดสอบทวินามใน python
การทดสอบทวินาม จะเปรียบเทียบสัดส่วนตัวอย่างกับสัดส่วนสมมุติ
ตัวอย่างเช่น สมมติว่าเรามีลูกเต๋า 6 ด้าน ถ้าเราโยน 12 ครั้ง เราก็คาดหวังว่าเลข “3” จะปรากฏ 1/6 ของเวลา ซึ่งจะเท่ากับ 12 * (1/6) = 2 ครั้ง
หากเลข “3” ปรากฏขึ้นจริง 4 ครั้ง นี่เป็นข้อพิสูจน์ว่าคนตายมีอคติกับเลข “3” หรือไม่? เราทำการทดสอบทวินามเพื่อตอบคำถามนี้ได้
ใน Python คุณสามารถทำการทดสอบทวินามได้โดยใช้ ฟังก์ชัน binom_test() จากไลบรารี scipy.stats ซึ่งใช้ไวยากรณ์ต่อไปนี้:
binom_test(x, n=ไม่มี, p=0.5, ทางเลือก=’สองหน้า’)
ทอง:
- x: จำนวน “ความสำเร็จ”
- n: จำนวนการทดลองทั้งหมด
- p: ความน่าจะเป็นของความสำเร็จของการทดลองแต่ละครั้ง
- ทางเลือก: สมมติฐานทางเลือก ค่าเริ่มต้นคือ “สองด้าน” แต่คุณสามารถระบุ “สูงกว่า” หรือ “น้อยกว่า” ได้
ฟังก์ชันนี้ส่งคืนค่า p ของการทดสอบ เราสามารถโหลดฟังก์ชันนี้โดยใช้ไวยากรณ์ต่อไปนี้:
from scipy.stats import binom_test
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวิธีดำเนินการทดสอบทวินามใน Python
ตัวอย่างที่ 1: โยนลูกเต๋า 6 หน้า 24 ครั้ง และตกลงไปที่หมายเลข “3” 6 ครั้งพอดี ทำการทดสอบทวินามเพื่อตรวจสอบว่าแม่พิมพ์มีความเอนเอียงไปทางหมายเลข “3” หรือไม่
สมมติฐานว่างและทางเลือกของการทดสอบของเรามีดังนี้:
H 0 : π ≤ 1/6 (แม่พิมพ์ไม่เอียงไปทางเลข “3”)
ฮา : π > 1/6
*π เป็นสัญลักษณ์ของสัดส่วนประชากร
เราจะป้อนสูตรต่อไปนี้ใน Python:
binom_test(x= 6 , n= 24 , p= 1/6 , alternative=' greater ') 0.1995295129479586
เนื่องจากค่า p นี้ (0.1995) ไม่น้อยกว่า 0.05 เราจึงไม่สามารถปฏิเสธสมมติฐานว่างได้ เราไม่มีหลักฐานเพียงพอที่จะบอกว่าแม่พิมพ์นั้นมีอคติต่อเลข “3”
ตัวอย่างที่ 2: เราโยนเหรียญ 30 ครั้ง และมันขึ้นหัว 19 ครั้งพอดี ทำการทดสอบทวินามเพื่อดูว่าเหรียญเอนไปทางหัวหรือไม่
สมมติฐานว่างและทางเลือกของการทดสอบของเรามีดังนี้:
H 0 : π ≤ 1/2 (เหรียญไม่เอียงไปทางหัว)
HA : π > 1/2
เราจะป้อนสูตรต่อไปนี้ใน Python:
binom_test(x= 19 , n= 30 , p= 1/2 , alternative=' greater ') 0.10024421103298661
เนื่องจากค่า p นี้ (0.10024) ไม่น้อยกว่า 0.05 เราจึงไม่สามารถปฏิเสธสมมติฐานว่างได้ เราไม่มีหลักฐานเพียงพอที่จะบอกว่าเหรียญมีอคติต่อหัว
ตัวอย่างที่ 3: ร้านค้าสร้างวิดเจ็ตที่มีประสิทธิภาพ 80% พวกเขากำลังใช้ระบบใหม่ที่พวกเขาหวังว่าจะปรับปรุงอัตราประสิทธิภาพ พวกเขาสุ่มเลือก 50 วิดเจ็ตจากการผลิตล่าสุด และสังเกตว่า 47 วิดเจ็ตนั้นมีประสิทธิภาพ ทำการทดสอบทวินามเพื่อตรวจสอบว่าระบบใหม่มีประสิทธิภาพมากขึ้นหรือไม่
สมมติฐานว่างและทางเลือกของการทดสอบของเรามีดังนี้:
H 0 : π ≤ 0.80 (ระบบใหม่ไม่ทำให้ประสิทธิภาพเพิ่มขึ้น)
ฮา : π > 0.80
เราจะป้อนสูตรต่อไปนี้ใน Python:
binom_test(x= 47 , n= 50 , p= 0.8 , alternative=' greater ') 0.005656361012155314
ค่า p นี้ (0.00565) น้อยกว่า 0.05 เราทิ้งสมมุติฐานว่าง เรามีหลักฐานเพียงพอที่จะกล่าวว่าระบบใหม่ส่งผลให้ประสิทธิภาพเพิ่มขึ้น