البرمجة

تحليل التباين باستخدام R

تحليل التباين (Analysis of Variance) بلغة R: مقاربة إحصائية شاملة

يُعد تحليل التباين (ANOVA: Analysis of Variance) من أكثر الأدوات الإحصائية استخدامًا في تحليل البيانات لاختبار الفروق بين المتوسطات لعدة مجموعات، وهو تطور طبيعي لاختبار “t” التقليدي عند مقارنة أكثر من مجموعتين. تعتمد هذه التقنية على تقدير التباين بين المجموعات ومقارنته بالتباين داخل المجموعات من أجل تحديد ما إذا كانت هناك فروق ذات دلالة إحصائية بين المتوسطات. في هذا السياق، تمثل لغة R بيئة مثالية لتطبيق واختبار فرضيات ANOVA بفضل تنوع مكتباتها الإحصائية، وسهولة تنفيذ الأكواد فيها، ودقتها العالية في الحسابات.

الأساس النظري لتحليل التباين

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

فروض اختبار ANOVA

يستند اختبار ANOVA إلى الفرضيات التالية:

  • الفرضية الصفرية (H0): لا يوجد فرق معنوي بين المتوسطات.

  • الفرضية البديلة (H1): يوجد على الأقل فرق معنوي بين متوسطين.

لكي يكون تحليل التباين صحيحًا من الناحية الإحصائية، يجب استيفاء عدة شروط أساسية، منها:

  1. توزيع طبيعي للبيانات داخل كل مجموعة.

  2. تجانس التباين (Homogeneity of Variances) بين المجموعات.

  3. استقلالية الملاحظات بين أفراد العينة.

أنواع تحليل التباين

1. تحليل التباين الأحادي (One-Way ANOVA)

يُستخدم عندما يكون لدينا متغير مستقل واحد (عامل واحد) ومتغير تابع كمي. يهدف هذا التحليل إلى معرفة ما إذا كان للمتغير المستقل تأثير على المتوسطات.

2. تحليل التباين الثنائي (Two-Way ANOVA)

يُستخدم عند وجود متغيرين مستقلين لمعرفة تأثير كل منهما، بالإضافة إلى تفاعلهم على المتغير التابع.

3. تحليل التباين المتكرر (Repeated Measures ANOVA)

يُستخدم عندما يتم قياس نفس الأفراد تحت ظروف مختلفة أو على فترات زمنية متعددة.

تطبيق تحليل التباين بلغة R

تُعد لغة R من اللغات البرمجية الرائدة في تحليل البيانات الإحصائية، وتوفر وظائف جاهزة لتحليل التباين من خلال حزم متعددة مثل stats، وcar، وez، وغيرها.

1. إعداد البيانات

R
# إنشاء مجموعة بيانات group <- factor(c(rep("A", 5), rep("B", 5), rep("C", 5))) value <- c(20, 21, 19, 23, 22, 25, 27, 26, 28, 29, 30, 31, 29, 32, 33) data <- data.frame(group, value)

2. تحليل التباين الأحادي One-Way ANOVA

R
anova_result <- aov(value ~ group, data = data) summary(anova_result)

3. اختبار الفروض المصاحبة

اختبار التجانس (Levene’s Test)

R
library(car) leveneTest(value ~ group, data = data)

اختبار التوزيع الطبيعي (Shapiro-Wilk Test)

R
shapiro.test(residuals(anova_result))

4. تحليل ما بعد التباين (Post-hoc Analysis)

في حالة الحصول على نتيجة معنوية (p-value < 0.05)، يمكن استخدام اختبار Tukey لمعرفة أي المجموعات تختلف عن غيرها.

R
TukeyHSD(anova_result)

تطبيقات تحليل التباين في البحث العلمي

يُستخدم تحليل التباين في العديد من مجالات البحث العلمي، ومنها:

المجال التطبيق
الطب مقارنة فعالية أدوية مختلفة على مجموعات مرضى
الزراعة مقارنة محصول أنواع مختلفة من البذور تحت نفس الظروف
التعليم تحليل أداء طلاب من مدارس مختلفة في نفس الاختبار
التسويق قياس تفضيلات العملاء تجاه عدة حملات إعلانية

الجدول الإحصائي الأساسي لتحليل التباين

يُولد تحليل ANOVA جدولًا يحتوي على معلومات أساسية تشمل:

المصدر درجات الحرية (DF) مجموع المربعات (SS) متوسط المربعات (MS) F القيمة الاحتمالية (p)
بين المجموعات k – 1 SSb MSb = SSb / (k – 1) F = MSb / MSw القيمة الاحتمالية
داخل المجموعات N – k SSw MSw = SSw / (N – k)
الكلي N – 1 SStotal

حيث:

  • k هو عدد المجموعات،

  • N هو عدد القيم الإجمالية،

  • SSb هو مجموع مربعات الفروق بين المجموعات،

  • SSw هو مجموع مربعات الفروق داخل المجموعات،

  • SStotal هو مجموع SSb و SSw.

تمثيل النتائج رسوميًا في R

Boxplot لمقارنة المجموعات

R
boxplot(value ~ group, data = data, col = c("red", "green", "blue"), main = "تحليل التباين بين المجموعات", xlab = "المجموعة", ylab = "القيم")

رسم المخلفات (Residuals Plot)

R
plot(anova_result$residuals, main = "مخطط المخلفات", ylab = "المخلفات", xlab = "الفرد") abline(h = 0, col = "red")

قيود تحليل التباين

رغم فاعلية ANOVA، إلا أن له عددًا من القيود يجب الحذر منها:

  • حساسية عالية للقيم المتطرفة، مما قد يؤثر على النتائج.

  • فروضه الصارمة تتطلب تحقيق التوزيع الطبيعي وتجانس التباين.

  • لا يحدد موقع الفرق بل فقط يشير إلى وجود فرق، مما يتطلب تحليلات إضافية (مثل اختبار Tukey).

تحليل التباين مع قياسات مكررة

في التجارب الزمنية أو التجارب المتكررة على نفس الأفراد، يُستخدم تحليل ANOVA للقياسات المتكررة:

R
library(ez) # إعداد البيانات بنمط طويل (long format) # data_long يجب أن تحتوي على أعمدة: subject, within, dv ezANOVA(data = data_long, dv = .(value), wid = .(subject), within = .(condition), detailed = TRUE)

دمج ANOVA مع نماذج خطية عامة (Linear Models)

لغة R تتيح استخدام تحليل التباين ضمن النماذج الخطية باستخدام lm():

R
model <- lm(value ~ group, data = data) anova(model)

يمكن أيضًا الجمع بين متغيرات مستقلة متعددة وتحليل تفاعلها:

R
model2 <- lm(value ~ group * treatment, data = data) anova(model2)

استخدام حزمة lme4 لتحليل التباين المختلط (Mixed ANOVA)

R
library(lme4) model_mixed <- lmer(value ~ condition + (1|subject), data = data_long) summary(model_mixed)

مقارنة ANOVA مع اختبارات بديلة

الاختبار عدد المجموعات شرط التوزيع الطبيعي التباين المتجانس حساسية للقيم المتطرفة
ANOVA 3 أو أكثر نعم نعم مرتفعة
Kruskal-Wallis 3 أو أكثر لا لا منخفضة
t-test 2 فقط نعم نعم مرتفعة

عند عدم تحقق شروط ANOVA، يوصى باستخدام اختبار Kruskal-Wallis كبديل غير معلمي.

خلاصة العمليات البرمجية لتحليل التباين بلغة R

العملية الدالة الحزمة
تحليل التباين الأحادي aov() stats
تحليل التباين الثنائي aov() أو lm() stats
تحليل ما بعد التباين TukeyHSD() stats
اختبار التجانس leveneTest() car
اختبار التوزيع الطبيعي shapiro.test() stats
تحليل القياسات المتكررة ezANOVA() ez
النماذج المختلطة lmer() lme4

المراجع

  1. Montgomery, D. C. (2020). Design and Analysis of Experiments (10th Edition). Wiley.

  2. R Core Team (2024). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. https://www.r-project.org