تحليل التباين ولش في بايثون (خطوة بخطوة)


يعد تحليل ويلش ANOVA بديلاً لتحليل التباين النموذجي أحادي الاتجاه عندما لا يتم استيفاء افتراض المساواة في التباينات .

يوضح المثال التالي خطوة بخطوة كيفية تنفيذ Welch’s ANOVA في Python.

الخطوة 1: إنشاء البيانات

لتحديد ما إذا كانت ثلاث تقنيات دراسة مختلفة تؤدي إلى نتائج امتحانات مختلفة، يقوم الأستاذ بتعيين 10 طلاب بشكل عشوائي لاستخدام كل تقنية (التقنية أ أو ب أو ج) لمدة أسبوع، ثم يعطي كل طالب اختبارًا بنفس الصعوبة.

وفيما يلي نتائج امتحانات الطلاب الثلاثين:

 A = [64, 66, 68, 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]

الخطوة الثانية: اختبار الفروق المتساوية

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

إذا كانت القيمة p لإحصائيات الاختبار أقل من مستوى معين من الأهمية (مثل α = 0.05)، فيمكننا رفض فرضية العدم ونستنتج أنه ليس كل المجموعات لديها نفس التباين.

يمكننا استخدام الكود التالي لإجراء اختبار بارتليت في بايثون:

 import scipy. stats as stats

#perform Bartlett's test 
stats. bartlett (A, B, C)

BartlettResult(statistic=9.039674395, pvalue=0.010890796567)

القيمة p ( .01089 ) لاختبار بارتليت أقل من α = .05، مما يعني أنه يمكننا رفض فرضية العدم القائلة بأن كل مجموعة لها نفس التباين.

وبالتالي، يتم انتهاك افتراض المساواة في التباينات ويمكننا المضي قدمًا في تحليل التباين (ANOVA) الخاص بـ Welch.

الخطوة 3: إجراء تحليل التباين (ANOVA) لـ ولش

لإجراء تحليل Welch’s ANOVA في Python، يمكننا استخدام الدالة welch_anova() ‎ من حزمة Penguin.

أولاً، نحتاج إلى تثبيت Penguin:

 pip install Penguin

ثم يمكننا استخدام الكود التالي لإجراء Welch’s ANOVA:

 import penguin as pg
import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' score ': [64, 66, 68, 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 Welch's ANOVA
pg. welch_anova (dv=' score ', between=' group ', data=df)

        Source ddof1 ddof2 F p-unc np2
0 group 2 16.651295 9.717185 0.001598 0.399286

القيمة p الإجمالية ( 0.001598 ) لجدول ANOVA أقل من α = 0.05، مما يعني أنه يمكننا رفض الفرضية الصفرية القائلة بأن نتائج الامتحان متساوية بين تقنيات الدراسة الثلاثة.

يمكننا بعد ذلك إجراء اختبار Games-Howell اللاحق لتحديد متوسطات المجموعة المختلفة تمامًا:

 pg. pairwise_gameshowell (dv=' score ', between=' group ', data=df)


        A B mean(A) mean(B) diff se T df pval	
0 a b 77.3 91.8 -14.5 3.843754 -3.772354 11.6767 0.0072
1 a c 77.3 84.7 -7.4 3.952777 -1.872102 12.7528 0.1864
2 b c 91.8 84.7 7.1 2.179959 3.256942 17.4419 0.0119

من القيم p، يمكننا أن نرى أن متوسط الفرق بين المجموعتين a و b يختلف بشكل كبير وأن متوسط الفرق بين المجموعتين b و c يختلف بشكل كبير.

مصادر إضافية

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

Add a Comment

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