ما الذي يسأله اختبار t
يجيب كل اختبار t عن السؤال الأساسي نفسه: هل هذا الفرق في المتوسطات حقيقي أم أنه مجرد ضوضاء؟ فالعينات تتذبذب، إذ قِس أزمنة رد فعل عشرة أشخاص مرتين وستحصل على متوسطين مختلفين رغم أن شيئًا لم يتغير. ويقارن اختبار t الفرق الذي رصدته بالتذبذب المتوقع من المصادفة، ويُبلغ عن مدى غرابة بياناتك لو كان الفرق الحقيقي صفرًا.
ثلاث صيغ ودالة واحدة:
- أحادي العينة: هل يختلف متوسط هذه المجموعة عن قيمة ثابتة؟
- ثنائي العينة: هل تختلف متوسطات هاتين المجموعتين المستقلتين؟
- مزدوج: هل تغيّرت المفردات نفسها بين قياسين؟
أحادي العينة: t.test(x, mu = ...)
افترض أن عملية ما يُفترض أن يبلغ متوسطها 5.0 ثوانٍ، وأنك قِست عشر دورات:
متوسط العينة 5.61، لكن هل تحمل زيادة 0.61 فوق الهدف معنى مع عشر دورات فقط، أم أنها ضمن التذبذب الطبيعي؟ وهذا بالضبط ما تجيب عنه المخرجات.
قراءة المخرجات سطرًا سطرًا
هذا هو القسم الذي يستحق مكانه، فمخرجات كل صيغة من t.test() لها الشكل نفسه، فتعلّم قراءتها مرة واحدة. شغّل الكتلة أعلاه وطابق كل سطر:
- t = 4.26: إحصاء الاختبار، أي الفرق المرصود (5.61 − 5 = 0.61) مقسومًا على الخطأ المعياري للمتوسط (نحو 0.143). ويقول إن متوسط العينة يبعد أكثر بقليل من أربعة أخطاء معيارية عن القيمة المفترضة. وكلما كبرت |t| زادت غرابة النتيجة في ظل فرضية العدم.
- df = 9: درجات الحرية، وهي هنا n − 1. ودرجات الحرية الصغيرة تعني عينات صغيرة، ما يعني أن الاختبار يطلب قيمة t أكبر قبل أن يقتنع.
- قيمة p ≈ 0.002: لو كان المتوسط الحقيقي 5 فعلًا، لكان احتمال سحب عينة يبعد متوسطها عن 5 بهذا القدر على الأقل (في أي من الاتجاهين) نحو 0.2%. وهذا هو المعنى كله. وهي ليست احتمال أن يكون المتوسط الحقيقي 5، وقيمة p الصغيرة لا تثبت تفسيرك المفضل، بل تقول فقط "يصعب إلقاء اللوم على المصادفة". وعند العتبة المعتادة 0.05 ترفض فرضية العدم هنا.
- الفرضية البديلة: إعادة صياغة لما يعنيه "الرفض". والعبارة
not equal to 5تؤكد أن الاختبار كان ثنائي الجانب. - فترة ثقة 95 بالمئة: من 5.29 إلى 5.93: مدى المتوسطات الحقيقية المتوافقة مع البيانات. ولاحظ أن القيمة 5 تقع خارجها، وهو الحكم نفسه الذي تعطيه p < 0.05 لكن معبَّرًا عنه بوحدات البيانات، كما يخبرك بـ حجم الأثر المعقول، وهو ما لا تفعله قيمة p أبدًا.
- تقديرات العينة: المتوسط المرصود، ليرى القارئ الحقيقة الخام موضع الاختبار.
وإذا احتجت إلى الأجزاء برمجيًا: اكتب result <- t.test(times, mu = 5) ثم result$p.value وresult$conf.int وresult$estimate.
ثنائي العينة: مقارنة مجموعتين مستقلتين
لمجموعتين مستقلتين تُقرأ واجهة الصيغة كالسؤال نفسه. وتسجّل ToothGrowth نمو الأسنان لدى خنازير غينيا أُعطيت فيتامين C بصورة عصير برتقال (OJ) أو حمض أسكوربيك (VC):
اقرأها "اختبر len مقسّمًا حسب supp". وتُظهر المخرجات الآن تقديرين للعينة (متوسط لكل مجموعة، نحو 20.7 مقابل 17.0)، وتكون فترة الثقة لـ الفرق بينهما. وهنا p ≈ 0.061 وتمتد الفترة من نحو −0.17 إلى 7.57: فهي تعبر الصفر، ولذا لا تستطيع عند مستوى 0.05 استبعاد "لا فرق"، رغم أن فترة تمتد إلى +7.6 تحذرك أيضًا من إعلان انعدام الفرق. فـ "غير معنوي" تعني غير مثبت، لا مثبت الانعدام.
ويلش هو الافتراضي وهذا جيد
انظر إلى ترويسة المخرجات: Welch Two Sample t-test، بدرجات حرية كسرية (نحو 55.3). فاختبار ستيودنت الكلاسيكي يفترض تساوي تباين المجموعتين، بينما تُسقط صيغة ويلش ذلك الافتراض وتعدّل درجات الحرية للتعويض. وحين يتساوى التباينان فعلًا يعطي ويلش إجابات متطابقة جوهريًا، وحين لا يتساويان قد ينحرف معايرة اختبار ستيودنت بشدة بينما يبقى ويلش صادقًا. فالقيمة الافتراضية في R هي الآمنة، ونادرًا ما يوجد سبب لتجاوزها.
أما طقس "افحص تساوي التباينات أولًا ثم اختر الاختبار" فنصيحة عفا عليها الزمن، فاستخدم ويلش ببساطة.
المزدوج: قبل وبعد
حين يأتي القياسان من المفردات نفسها، لا تكون المجموعتان مستقلتين، ومعاملتهما كمستقلتين تهدر قوة الاختبار. وهذه درجات ثمانية أشخاص قبل دورة تدريبية وبعدها:
تختبر paired = TRUE متوسط الفروق داخل الشخص الواحد (وهي هنا 2.75 نقطة في المتوسط، بقيمة p ≈ 0.001). ولماذا يغيّر الاقتران كل شيء: لأن الناس يختلفون بعضهم عن بعض أكثر بكثير مما غيّر التدريب أيًّا منهم، إذ إن التشتت من شخص إلى آخر بين 65 و80 سيغرق تحسنًا من نقطتين أو ثلاث في اختبار غير مقترن. وطرح الفروق يزيل خط الأساس لكل شخص فلا يبقى إلا التغير. والقاعدة: إن كان للبيانات بنية طبيعية من نوع "الوحدة نفسها مقيسة مرتين" فاقرنها. (ولا تستخدم paired = TRUE أبدًا حين تكون المجموعتان مستقلتين فعلًا، فالاقتران عندئذ محض خيال.)
الاختبارات أحادية الجانب: تعامل بحذر
الاختبار افتراضيًا ثنائي الجانب، إذ يعدّ الفرق في أي اتجاه دليلًا. وإذا كانت فرضيتك، قبل رؤية البيانات، لا تعقل إلا في اتجاه واحد، فتستطيع أن تقول ذلك:
تنخفض قيمة p إلى النصف مقارنةً بالاختبار ثنائي الجانب، وهذا بالضبط سبب وجود الإغراء: فالتحول إلى أحادي الجانب بعد اختلاس النظر إلى البيانات هو تصيّد لقيم p. فلا تستخدم alternative = "greater" أو "less" إلا مع اتجاه مسجَّل مسبقًا فعلًا، وعند الشك ابقَ على الاختبار ثنائي الجانب.
الافتراضات والبديل الاحتياطي
يفترض اختبار t أن الملاحظات مستقلة وأن متوسطات العينات موزعة توزيعًا طبيعيًا تقريبًا، وهو ما يتحقق حين تكون البيانات نفسها طبيعية تقريبًا أو حين تكون العينات كبيرة بما يكفي (فمبرهنة النهاية المركزية تقوم بالعمل الشاق، وعند n ≈ 30 فأكثر لكل مجموعة لا يعود الانحراف المعتدل عن الطبيعية مشكلة). وافحص الشكل بـ مدرج تكراري أو مخطط صندوق سريع. أما الاستقلال فلا ينقذه أي اختبار، إذ يأتي من طريقة جمع البيانات.
وللعينات الصغيرة ذات البيانات الملتوية بوضوح أو ذات القيم الشاذة المتطرفة، يكون البديل اللامعلمي المعياري سطرًا واحدًا: wilcox.test(len ~ supp, data = ToothGrowth)، وهو يقارن التوزيعات عبر الرتب بدل المتوسطات.
الخلاصة
-
t.test(x, mu = )لعينة واحدة، وt.test(y ~ group, data = )لعينتين، وpaired = TRUEلقياسات قبل وبعد. - قيمة p هي "كم تبدو هذه البيانات غريبة لو كان الفرق الحقيقي صفرًا" لا أكثر، وتخبرك فترة الثقة بحجم الأثر المعقول بوحدات حقيقية.
- الافتراضي في R لثنائي العينة هو اختبار ويلش (بدرجات حرية كسرية)، فأبقِه.
- يزيل الاقتران الضوضاء بين المفردات، فاستخدمه كلما قِست الوحدات نفسها مرتين.
- لا تستخدم البدائل أحادية الجانب إلا باتجاه ملتزم به مسبقًا، و
wilcox.test()هو البديل القائم على الرتب.
في المستند التالي: مقارنة متوسطات ثلاث مجموعات أو أكثر دفعة واحدة، أي تحليل التباين عبر aov().
الأسئلة الشائعة
كيف تجري اختبار t في R؟
باستخدام t.test(). لعينة واحدة مقابل قيمة ثابتة: t.test(x, mu = 5). ولمجموعتين مستقلتين: t.test(value ~ group, data = df). ولقياسات قبل وبعد على المفردات نفسها: t.test(after, before, paired = TRUE).
كيف تفسّر قيمة p في اختبار t في R؟
هي احتمال رؤية فرق لا يقل عن فرقك لو كان الفرق الحقيقي صفرًا. وقيمة p الصغيرة (وعرفًا أقل من 0.05) تعني أن من الصعب تفسير البيانات بأنها ضوضاء، فترفض فرضية العدم. وهي ليست احتمال صحة فرضية العدم، ولا تقول شيئًا عن حجم الفرق أو أهميته، فاقرأ فترة الثقة لذلك.
لماذا يُبلغ R عن اختبار ويلش افتراضيًا؟
تعتمد t.test() ثنائية العينة في R افتراضيًا صيغة ويلش، التي لا تفترض تساوي تباينَي المجموعتين، ولهذا تخرج درجات الحرية كسرية. ويتصرف ويلش تصرفًا شبه مطابق لاختبار ستيودنت الكلاسيكي حين يتساوى التباينان، وهو أأمن حين لا يتساويان، فالقيمة الافتراضية هي الخيار الصحيح. ولا تستخدم var.equal = TRUE إلا إذا طلب المقرر الدراسي صراحةً الاختبار المجمّع الكلاسيكي.
متى ينبغي استخدام اختبار t المزدوج في R؟
حين تأتي مجموعتا القياسات في أزواج طبيعية، كالمفردة نفسها مقيسة قبل وبعد، أو العنصر نفسه مقيَّمًا بطريقتين. وتختبر t.test(after, before, paired = TRUE) متوسط الفروق داخل الأزواج، ما يزيل التباين بين المفردات ويعطي عادةً قوة إحصائية أكبر بكثير من معاملة المجموعتين كمستقلتين.