كيفية إجراء اختبار توكي في بايثون


يتم استخدام ANOVA أحادي الاتجاه لتحديد ما إذا كان هناك فرق ذو دلالة إحصائية بين متوسطات ثلاث مجموعات مستقلة أو أكثر أم لا.

إذا كانت القيمة الاحتمالية الإجمالية لجدول تحليل التباين (ANOVA) أقل من مستوى معين من الأهمية، فلدينا أدلة كافية لنقول أن إحدى وسائل المجموعة على الأقل تختلف عن الوسائل الأخرى.

ومع ذلك، هذا لا يخبرنا ما هي المجموعات التي تختلف عن بعضها البعض. وهذا يخبرنا ببساطة أنه ليست كل متوسطات المجموعة متساوية. لكي نعرف بالضبط أي المجموعات تختلف عن بعضها البعض، نحتاج إلى إجراء اختبار لاحق .

أحد الاختبارات اللاحقة الأكثر استخدامًا هو اختبار توكي ، والذي يسمح لنا بإجراء مقارنات زوجية بين وسائل كل مجموعة مع التحكم في معدل الخطأ العائلي .

يقدم هذا البرنامج التعليمي مثالاً خطوة بخطوة لكيفية إجراء اختبار Tukey في Python.

الخطوة 1: تحميل الحزم والوظائف الضرورية

أولاً، سنقوم بتحميل الحزم والوظائف اللازمة في بايثون:

 import pandas as pd
import numpy as np
from scipy. stats import f_oneway
from statsmodels. stats . multicomp import pairwise_tukeyhsd

الخطوة 2: تناسب نموذج ANOVA

يوضح الكود التالي كيفية إنشاء مجموعة بيانات وهمية بثلاث مجموعات (A وB وC) وملاءمة نموذج ANOVA أحادي الاتجاه مع البيانات لتحديد ما إذا كانت القيم المتوسطة لكل مجموعة متساوية:

 #enter data for three groups
a = [85, 86, 88, 75, 78, 94, 98, 79, 71, 80]
b = [91, 92, 93, 90, 97, 94, 82, 88, 95, 96]
c = [79, 78, 88, 94, 92, 85, 83, 85, 82, 81]

#perform one-way ANOVA
f_oneway(a, b, c)

F_onewayResult(statistic=5.167774552944481, pvalue=0.012582197136592609)

يمكننا أن نرى أن القيمة p الإجمالية من جدول ANOVA هي 0.01258 .

وبما أن هذا الرقم أقل من 0.05، فلدينا ما يكفي من الأدلة لنقول أن متوسط القيم في كل مجموعة ليس متساويا.

لذا، يمكننا إجراء اختبار توكي لتحديد متوسطات المجموعة المختلفة تمامًا.

الخطوة 3: إجراء اختبار توكي

لإجراء اختبار Tukey في بايثون، يمكننا استخدام الدالة Pairwise_tukeyhsd() ‎ من مكتبة statsmodels :

 #create DataFrame to hold data
df = pd. DataFrame ({'score': [85, 86, 88, 75, 78, 94, 98, 79, 71, 80,
                             91, 92, 93, 90, 97, 94, 82, 88, 95, 96,
                             79, 78, 88, 94, 92, 85, 83, 85, 82, 81],
                   'group': np. repeat (['a', 'b', 'c'], repeats= 10 )}) 

# perform Tukey's test
tukey = pairwise_tukeyhsd(endog=df['score'],
                          groups=df['group'],
                          alpha= 0.05 )

#display results
print (tukey)

 Multiple Comparison of Means - Tukey HSD, FWER=0.05 
==================================================== ===
group1 group2 meandiff p-adj lower upper reject
-------------------------------------------------- ---
     ab 8.4 0.0158 1.4272 15.3728 True
     ac 1.3 0.8864 -5.6728 8.2728 False
     bc -7.1 0.0453 -14.0728 -0.1272 True
-------------------------------------------------- ---

وإليك كيفية تفسير النتيجة:

  • قيمة P للفرق في المتوسطات بين a و b: 0.0158
  • قيمة P للفرق في المتوسطات بين a و c: 0.8864
  • قيمة P للفرق في الوسط بين b و c: 0.0453

وبالتالي، نستنتج أن هناك فرق ذو دلالة إحصائية بين متوسطي المجموعتين أ و ب والمجموعتين ب و ج ، ولكن لا يوجد فرق ذو دلالة إحصائية بين متوسطي المجموعتين أ و ج .

مصادر إضافية

كيفية إجراء ANOVA أحادي الاتجاه في بايثون
كيفية إجراء ANOVA ثنائي الاتجاه في بايثون
كيفية تنفيذ التدابير المتكررة ANOVA في بيثون

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *