วิธีดำเนินการทดสอบ 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

ซึ่งหมายความว่าในทั้งสองกรณี เราจะปฏิเสธสมมติฐานว่างและสรุปว่าสัดส่วนของผู้ที่สนับสนุนกฎหมายก่อนและหลังดูวิดีโอการตลาดมีความแตกต่างกันทางสถิติ

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *