كيفية إجراء اختبار ماكنيمار في بايثون
يتم استخدام اختبار ماكنيمار لتحديد ما إذا كان هناك فرق ذو دلالة إحصائية في النسب بين البيانات المقترنة.
يشرح هذا البرنامج التعليمي كيفية إجراء اختبار McNemar في بايثون.
مثال: اختبار ماكنيمار في بايثون
لنفترض أن الباحثين يريدون معرفة ما إذا كان مقطع فيديو تسويقي معين يمكنه تغيير آراء الأشخاص حول قانون معين. يقومون باستقصاء 100 شخص لمعرفة ما إذا كانوا يدعمون القانون أم لا. ثم يعرضون الفيديو التسويقي لجميع الأشخاص البالغ عددهم 100 شخص ويقومون باستطلاع رأيهم مرة أخرى بعد انتهاء الفيديو.
والجدول التالي يوضح إجمالي عدد الأشخاص الذين أيدوا القانون قبل وبعد مشاهدة الفيديو:
الفيديو قبل التسويق | ||
---|---|---|
الفيديو بعد التسويق | يدعم | لا أستطيع الوقوف |
يدعم | 30 | 40 |
لا أستطيع الوقوف | 12 | 18 |
ولتحديد ما إذا كان هناك فرق ذو دلالة إحصائية في نسبة الأشخاص الذين أيدوا القانون قبل وبعد مشاهدة الفيديو، يمكننا إجراء اختبار ماكنمار.
الخطوة 1: إنشاء البيانات.
أولاً، سنقوم بإنشاء جدول للاحتفاظ ببياناتنا:
data = [[30, 40], [12, 18]]
الخطوة 2: إجراء اختبار ماكنيمار
بعد ذلك، يمكننا استخدام الدالة mcnemar() من مكتبة Python statsmodels، والتي تستخدم الصيغة التالية:
ماكنيمار (مصفوفة، بالضبط = صحيح، التصحيح = صحيح)
ذهب:
- الجدول: جدول طوارئ مربع
- بالضبط: إذا كان بالضبط صحيحا، فسيتم استخدام التوزيع ذي الحدين. إذا كان الصحيح خطأ، فسيتم استخدام توزيع مربع كاي
- التصحيح: إذا كان صحيحا، يتم استخدام تصحيح الاستمرارية. عادةً، يتم تطبيق هذا التصحيح عادةً عندما يكون عدد خلايا الجدول أقل من 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.
وهذا يعني أننا في كلتا الحالتين سنرفض الفرضية الصفرية ونستنتج أن نسبة الأشخاص الذين أيدوا القانون قبل وبعد مشاهدة الفيديو التسويقي كانت مختلفة إحصائياً.