วิธีดำเนินการทดสอบ mcnemar ใน python
การทดสอบ McNemar ใช้เพื่อพิจารณาว่าสัดส่วนระหว่างข้อมูลที่จับคู่มีความแตกต่างกันอย่างมีนัยสำคัญทางสถิติหรือไม่
บทช่วยสอนนี้จะอธิบายวิธีดำเนินการทดสอบ McNemar ใน Python
ตัวอย่าง: การทดสอบ McNemar ใน Python
สมมติว่านักวิจัยต้องการทราบว่าวิดีโอการตลาดบางรายการสามารถเปลี่ยนความคิดเห็นของผู้คนเกี่ยวกับกฎหมายข้อใดข้อหนึ่งได้หรือไม่ พวกเขาสำรวจคน 100 คนเพื่อดูว่าพวกเขาสนับสนุนกฎหมายหรือไม่ จากนั้นพวกเขาจึงแสดงวิดีโอการตลาดแก่คนทั้ง 100 คน และสำรวจพวกเขาอีกครั้งหลังจากวิดีโอจบ
ตารางต่อไปนี้แสดงจำนวนผู้ที่สนับสนุนกฎหมายก่อนและหลังดูวิดีโอ:
วีดีโอก่อนทำการตลาด | ||
---|---|---|
วิดีโอหลังการตลาด | สนับสนุน | ทนไม่ไหว. |
สนับสนุน | 30 | 40 |
ทนไม่ไหว. | 12 | 18 |
เพื่อตรวจสอบว่าสัดส่วนของผู้ที่สนับสนุนกฎหมายก่อนและหลังดูวิดีโอมีความแตกต่างอย่างมีนัยสำคัญทางสถิติหรือไม่ เราจึงทำการทดสอบ McNemar ได้
ขั้นตอนที่ 1: สร้างข้อมูล
ขั้นแรก เราจะสร้างตารางเพื่อเก็บข้อมูลของเรา:
data = [[30, 40], [12, 18]]
ขั้นตอนที่ 2: ทำการทดสอบ McNemar
ต่อไป เราสามารถใช้ ฟังก์ชัน mcnemar() จากไลบรารี Python statsmodels ซึ่งใช้ไวยากรณ์ต่อไปนี้:
mcnemar(อาร์เรย์, แน่นอน=จริง, การแก้ไข=จริง)
ทอง:
- ตาราง: ตารางฉุกเฉินแบบสี่เหลี่ยม
- แน่นอน: หากตรงทั้งหมดเป็นจริง ระบบจะใช้การแจกแจงแบบทวินาม ถ้าถูกต้องเป็นเท็จ จะใช้การแจกแจงแบบไคสแควร์
- การแก้ไข: หากเป็นจริง จะใช้การแก้ไขต่อเนื่อง โดยทั่วไป การแก้ไขนี้มักจะนำไปใช้เมื่อจำนวนเซลล์ในตารางน้อยกว่า 5
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในตัวอย่างเฉพาะของเรา:
from statsmodels.stats.contingency_tables import mcnemar #McNemar's Test with no continuity correction print(mcnemar(data, exact=False)) pvalue 0.000181 statistic 14.019 #McNemar's Test with continuity correction print(mcnemar(data, exact=False, correction=False)) pvalue 0.000103 statistic 15,077
ในทั้งสองกรณี ไม่ว่าจะใช้การแก้ไขความต่อเนื่องหรือไม่ก็ตาม ค่า p ของการทดสอบจะน้อยกว่า 0.05
ซึ่งหมายความว่าในทั้งสองกรณี เราจะปฏิเสธสมมติฐานว่างและสรุปว่าสัดส่วนของผู้ที่สนับสนุนกฎหมายก่อนและหลังดูวิดีโอการตลาดมีความแตกต่างกันทางสถิติ