تُعد دراسة السلاسل الزمنية وتحديد أنماط التغير عبر الفترات المتعاقبة من الركائز الأساسية في الإحصاء الاستدلالي التطبيقي، حيث يسعى الباحثون في مختلف الحقول المعرفية، بدءاً من العلوم البيئية والمناخية وصولاً إلى العلوم النفسية والطبية والسلوكية، إلى تقييم ما إذا كانت المتغيرات الخاضعة للرصد تتبع مساراً تصاعدياً أو تنازلياً ذا دلالة إحصائية مع مرور الوقت. ومع تنامي تعقيد البيانات المجمعة من الميدان وظهور مشكلات انحراف البيانات عن التوزيع الطبيعي ووجود القيم المتطرفة، برزت الحاجة الملحة إلى أدوات إحصائية لامعلمية (Non-parametric) تتمتع بالقوة والمرونة الكافيتين للتعامل مع هذه التحديات دون الإخلال بدقة النتائج.
يمثل اختبار مان-كيندال للاتجاه (Mann-Kendall Trend Test) المعيار الذهبي في التحليل اللامعلمي للسلاسل الزمنية، نظراً لقدرته الفائقة على اكتشاف الاتجاهات الرتيبة (Monotonic Trends) دون اشتراط خطية العلاقة أو خضوع البيانات لأي توزيع احتمالي محدد. ومع تطور لغة البرمجة بايثون وتحولها إلى البيئة المفضلة لعلماء البيانات والإحصائيين، بات إجراء هذا الاختبار وتحليله وتفسير مخرجاته أمراً في غاية الكفاءة والقابلية للتطوير والتكرار العلمي.
يقدم هذا الدليل الشامل مراجعة نظرية وتطبيقية متعمقة لاختبار مان-كيندال للاتجاه، مستعرضاً أسسه الرياضية الدقيقة، وشروط تطبيقه، والمعالجات المتقدمة لمشكلات الارتباط الذاتي والموسمية، إلى جانب خطوات التنفيذ البرمجي المكتملة في بايثون باستخدام الحزم المتخصصة، مدعومة بتطبيقات عملية في مجالات علم النفس، السلوك الإنساني، والعلوم الطبية والبيئية.
- 1. مقدمة نظرية لاختبار مان-كيندال للاتجاه (Mann-Kendall Trend Test)
- 2. الأسس الرياضية لحساب إحصائية مان-كيندال (S-Statistic)
- 3. متطلبات وشروط تطبيق اختبار مان-كيندال في تحليل السلاسل الزمنية
- 4. إعداد بيئة العمل وتثبيت المكتبات البرمجية في بايثون
- 5. تنفيذ اختبار مان-كيندال الأساسي في بايثون خطوة بخطوة
- 6. تفسير نتائج اختبار مان-كيندال الإحصائية بدقة
- 7. التعامل مع الارتباط الذاتي باستخدام اختبارات مان-كيندال المعدلة
- 8. تحليل الاتجاهات الموسمية باستخدام اختبار مان-كيندال الموسمي (Seasonal MK)
- 9. تقدير حجم الأثر ومعدل التغير باستخدام ميل سين (Sen’s Slope Estimator)
- 10. تطبيقات عملية للاختبار في تحليل البيانات النفسية والسلوكية الطولية
- 11. التصور البياني المتقدم لنتائج مان-كيندال وميل سين في بايثون
- 12. الأخطاء المنهجية الشائعة وأفضل الممارسات التحليلية في بايثون
- خاتمة
- References
1. مقدمة نظرية لاختبار مان-كيندال للاتجاه (Mann-Kendall Trend Test)
1.1 المفهوم الإحصائي والنشأة التاريخية
يُعرف اختبار مان-كيندال بأنه اختبار إحصائي لامعلمي صُمم خصيصاً لتقييم وجود اتجاه رتيب في سلسلة من البيانات المرتبة زمنياً. والاتجاه الرتيب يعني أن المتغير يميل إلى الزيادة المستمرة أو النقصان المستمر عبر الزمن، دون أن يكون بالضرورة اتجاهاً خطياً مستقيماً. يعود الفضل في صياغة هذا الاختبار إلى الإحصائي هنري مان (Henry Mann) الذي اقترح في عام 1945 اختباراً لامعلمياً لاكتشاف الاتجاهات العشوائية ضد الاتجاهات الرتيبة، مستنداً إلى أعمال سابقة للإحصائي البريطاني موريس كيندال (Maurice Kendall) الذي طور في عام 1938 معامل ارتباط الرتب الشهير المعروف باسم “تاو كيندال” (Kendall’s Tau). لاحقاً، تم دمج وتطوير هذه المفاهيم الرياضية لتشكل اختباراً متماسكاً يحمل اسم العالمَين معاً.
تكمن الأهمية الجوهرية لاختبار مان-كيندال في اتساع نطاق تطبيقه الميداني عبر مختلف التخصصات العلمية. ففي العلوم البيئية والهيدرولوجية، يُستخدم الاختبار على نطاق واسع لرصد التغير المناخي، مثل تتبع التغير في درجات الحرارة العالمية، مستويات هطول الأمطار، وتصريف الأنهار عبر العقود. أما في العلوم السلوكية والنفسية، فإن للاختبار دوراً محورياً في الدراسات الطولية (Longitudinal Studies) لمتابعة التغيرات التدريجية في استجابات الأفراد للعلاجات النفسية، رصد مستويات القلق والتوتر، ومراقبة تدهور أو تحسن الوظائف المعرفية للمرضى، حيث تكون القياسات متكررة ولكنها نادراً ما تتبع توزيعات معيارية مثالية.
1.2 الطبيعة اللامعلمية ومزايا الاختبار
تستند الاختبارات الإحصائية البارامترية، مثل تحليل الانحدار الخطي البسيط، إلى مجموعة من الافتراضات الصارمة التي تشمل التوزيع الطبيعي للأخطاء (Normality)، وثبات التباين (Homoscedasticity)، وخطية العلاقة بين المتغيرات. وفي الواقع التطبيقي، نادراً ما تستوفي السلاسل الزمنية السلوكية والبيئية هذه الشروط، إذ غالباً ما تتسم بالالتواء الشديد واحتوائها على قيم شاذة ناتجة عن أحداث استثنائية أو أخطاء قياس غير منتظمة. وهنا تبرز القوة الاستدلالية لاختبار مان-كيندال، حيث إنه اختبار لامعلمي لا يفترض أي توزيع احتمالي محدد للبيانات، مما يجعله محصناً ضد الانتهاكات التي تعطل النماذج البارامترية.
تتجلى إحدى أبرز مزايا الاختبار في مقاومته الاستثنائية للقيم المتطرفة (Outliers). فنظراً لأن الحسابات تعتمد على المقارنات الترتيبية وإشارات الفروق النسبية بين النقاط الزمنية وليس على الفروق العددية المطلقة، فإن وجود قيمة متطرفة كبرى أو صغرى لا يغير من الإحصائية الإجمالية سوى بمقدار رتبتها النسبية، خلافاً للانحدار الخطي الذي قد ينحرف خطه بالكامل بفعل نقطة شاذة واحدة. بالإضافة إلى ذلك، يمتلك الاختبار مرونة فائقة في التعامل مع البيانات الترتيبية (Ordinal Data) مثل مقاييس ليكرت، والبيانات الكمية المستمرة والمنفصلة، مع قدرته على استيعاب العلاقات غير الخطية طالما أنها تحافظ على خاصية الرتابة (Monotonicity).
1.3 الفرضيات الإحصائية للاختبار
يقوم اختبار مان-كيندال على صياغة ثنائية واضحة للفرضيات الإحصائية تهدف إلى التمييز بين التباين العشوائي المحض والاتجاه المنهجي الحقيقي عبر الزمن. تُصاغ الفرضية الصفرية (Null Hypothesis – H0) على النحو التالي: “لا يوجد اتجاه رتيب في السلسلة الزمنية الخاضعة للدراسة، وتتوزع البيانات بشكل عشوائي ومستقل عبر الزمن، بحيث تكون المشاهدات متطابقة التوزيع”. وتعني الفرضية الصفرية أن أي ارتفاع أو انخفاض مرصود في البيانات يرجع فقط إلى تقلبات عشوائية طبيعية (Random Fluctuation) وليس إلى نمط زمني منظم.
في المقابل، تنص الفرضية البديلة (Alternative Hypothesis – HA) على أن: “السلسلة الزمنية تحتوي على اتجاه رتيب ذي دلالة إحصائية”. ويمكن أن تكون الفرضية البديلة ثنائية الاتجاه (Two-tailed) بافتراض وجود اتجاه رتيب سواء كان متزايداً أو متناقصاً، أو أحادية الاتجاه (One-tailed) إذا كان لدى الباحث مبرر نظري مسبق لتوقع زيادة حصرية أو انخفاض حصري. وتعتمد معايير اتخاذ القرار الإحصائي على مقارنة القيمة الاحتمالية المحسوبة (p-value) بمستوى المعنوية المحدد سلفاً (Alpha)، والذي يُحدد عادة عند 0.05 أو 0.01؛ فإذا كانت القيمة الاحتمالية أقل من مستوى المعنوية، يتم رفض الفرضية الصفرية وقبول الفرضية البديلة، مما يثبت وجود اتجاه حقيقي في السلسلة الزمنية.
2. الأسس الرياضية لحساب إحصائية مان-كيندال (S-Statistic)
2.1 معادلة حساب إشارة الفروق ومجموع الرتب
ينطلق البناء الرياضي لاختبار مان-كيندال من مقارنة كل نقطة زمنية في السلسلة بجميع النقاط الزمنية التي تليها بالترتيب. إذا كانت السلسلة الزمنية تتكون من المشاهدات مرتبة زمنياً من 1 إلى n، فإن الاختبار يقوم بإجراء عمليات مقارنة ثنائية لجميع الأزواج حيث يسبق المؤشر الزمني i المؤشر الزمني j. يتم تقييم كل زوج باستخدام دالة الإشارة الرياضية (Sign Function)، والتي تأخذ الصيغة التالية:
- إذا كان الفارق بين القيمة اللاحقة والسابقة موجباً، تأخذ دالة الإشارة القيمة (+1).
- إذا كان الفارق بين القيمة اللاحقة والسابقة مساوياً للصفر (تساوي القيمتين)، تأخذ دالة الإشارة القيمة (0).
- إذا كان الفارق بين القيمة اللاحقة والسابقة سالباً، تأخذ دالة الإشارة القيمة (-1).
تُعرف إحصائية مان-كيندال الأساسية، والتي يُرمز لها بالحرف S، بأنها المجموع التراكمي لنتائج دالة الإشارة لجميع الأزواج الممكنة في السلسلة الزمنية. يعكس المجموع النهائي لإحصائية S السلوك العام للسلسلة؛ فإذا كانت القيمة موجبة وكبيرة، فإن هذا يشير إلى أن غالبية المشاهدات اللاحقة أكبر من المشاهدات السابقة مما يدل على اتجاه تصاعدي محتمل، في حين تشير القيمة السالبة الكبيرة إلى هيمنة الفروق السالبة وانخفاض المشاهدات مع مرور الزمن، بينما تدل القيمة القريبة من الصفر على غياب اتجاه محدد وهيمنة التذبذب العشوائي.
2.2 حساب التباين ومعالجة القيم المكررة (Ties)
تحت الفرضية الصفرية القائلة بعدم وجود اتجاه وأن البيانات موزعة عشوائياً، يكون التوقع الرياضي لإحصائية S مساوياً تماماً للصفر. ولكن لحساب الدلالة الإحصائية، يجب اشتقاق تباين الإحصائية S. في الحالة المثالية التي تكون فيها جميع المشاهدات في السلسلة فريدة ولا تحتوي على أي قيم مكررة، يُحسب التباين وفق المعادلة التي تأخذ في الاعتبار حجم العينة الكلي n بضرب n في (n – 1) في (2n + 5) وقسمة الناتج على 18.
ومع ذلك، في السلاسل الزمنية الواقعية، ولا سيما البيانات النفسية والسلوكية المقاسة عبر مقاييس درجات محددة، تظهر مشكلة القيم المكررة (Tied Values أو Ties)، وهي المشاهدات التي تتساوى في قيمتها العددية عند نقاط زمنية مختلفة. وجود هذه التكرارات يقلل من مقدار التباين الحقيقي للإحصائية S، مما يستوجب تطبيق معامل تصحيح رياضي. يقوم هذا التصحيح بطرح حد إضافي من بسط معادلة التباين لكل مجموعة من القيم المكررة، حيث يعتمد هذا الحد على حجم كل مجموعة مكررة مطروحاً منها عوامل التكرار. يضمن هذا التعديل الدقيق الحفاظ على القوة الإحصائية للاختبار وتجنب تضخيم احتمالية ارتكاب الخطأ من النوع الأول.
2.3 حساب القيمة المعيارية Z ومستوى المعنوية p-value
عندما يكون حجم العينة كبيراً بما فيه الكفاية (عادة n > 10)، يتقارب التوزيع الاحتمالي لإحصائية S بسرعة نحو التوزيع الطبيعي وفقاً لنظرية النهاية المركزية. ولإجراء المقارنة المعيارية، يتم تحويل الإحصائية S إلى إحصائية Z المعيارية التابعة للتوزيع الطبيعي القياسي ذي المتوسط 0 والانحراف المعياري 1. وخلال هذه العملية، يُطبق ما يُعرف باسم تصحيح الاستمرارية (Continuity Correction) للتعويض عن استخدام توزيع احتمالي متصل لتقريب توزيع متقطع.
يتم حساب القيمة المعيارية Z بطرح الرقم 1 من الإحصائية S وقسمتها على الانحراف المعياري (الجذر التربيعي لتباين S) إذا كانت S أكبر من الصفر، بينما يضاف الرقم 1 إلى S قبل القسمة إذا كانت S سالبة، وتُضبط Z لتساوي الصفر إذا كانت S مساوية للصفر تماماً. بمجرد الحصول على قيمة Z، تُستخرج القيمة الاحتمالية ثنائية الذيل (Two-tailed p-value) بالرجوع إلى دالة التوزيع التراكمي للتوزيع الطبيعي المعياري. إذا كانت القيمة الاحتمالية الناتجة أصغر من عتبة الدلالة المعتمدة، يستنتج الباحث وجود اتجاه ذي دلالة إحصائية مؤكدة.
3. متطلبات وشروط تطبيق اختبار مان-كيندال في تحليل السلاسل الزمنية
3.1 شرط استقلالية البيانات ومشكلة الارتباط الذاتي
يقوم الأساس النظري لاختبار مان-كيندال الكلاسيكي على افتراض صارم وحاسم: استقلالية المشاهدات عبر الزمن وعدم وجود ارتباط ذاتي (Autocorrelation or Serial Correlation) بين النقاط المتتالية. والارتباط الذاتي هو الحالة التي تكون فيها قيمة المشاهدة عند النقطة الزمنية t متأثرة أو مرتبطة بقيمتها عند النقطة الزمنية السابقة t-1 أو الفترات التي تسبقها. ويشكل هذا الشرط التحدي الأكبر في التطبيقات الواقعية، حيث تتميز غالبية السلاسل الزمنية بوجود درجة ما من الاعتمادية الزمنية.
يؤدي وجود ارتباط ذاتي إيجابي (Positive Autocorrelation) داخل السلسلة الزمنية إلى تضخيم تباين الإحصائية S وتقدير غير واقعي للقيمة المعيارية Z، مما يرفع بشكل حاد من احتمالية ارتكاب الخطأ من النوع الأول (Type I Error)، أي اكتشاف اتجاه غير موجود في الواقع واعتباره ذا دلالة إحصائية كاذبة. وعلى النقيض من ذلك، يؤدي الارتباط الذاتي السلبي إلى تقليل حساسية الاختبار وخفض قوته الإحصائية لاكتشاف الاتجاهات الحقيقية (الخطأ من النوع الثاني). لذلك، يتحتم على المحلل فحص دالة الارتباط الذاتي (Autocorrelation Function – ACF) قبل اعتماد نتائج الاختبار الأصلي.
3.2 التعامل مع القيم المفقودة والبيانات غير المنتظمة
تتميز الدراسات الطولية والملاحظات السريرية بتكرار حدوث فجوات في البيانات ناتجة عن غياب المشاركين أو تعطل أجهزة التسجيل، مما يؤدي إلى ظهور سلاسل زمنية غير مكتملة أو غير متساوية الفترات. يمتلك اختبار مان-كيندال مرونة هيكلية ملحوظة في التعامل مع الفجوات الزمنية المعتدلة مقارنة بنماذج السلاسل الزمنية الحركية مثل ARIMA، وذلك لأن الاختبار يركز على الترتيب النسبي الزمني للمشاهدات المتاحة وليس على المسافات الزمنية الدقيقة المطلقة بينها.
ومع ذلك، يجب التعامل مع مشكلة البيانات المفقودة بحذر منهجي؛ فإذا كانت الفترات الزمنية المفقودة كبيرة أو مرتبطة بظاهرة معينة (Missing Not at Random)، فقد يؤدي ذلك إلى تشويه التمثيل الإحصائي للاتجاه. وفي السلاسل التي تتخللها فترات غير متساوية بشكل كبير، يُفضل أحياناً تطبيق تقنيات استكمال البيانات الحذرة (Imputation) أو تقسيم السلسلة إلى فترات فرعية متجانسة لضمان عدم تأثر النتائج بتفاوت كثافة المشاهدات عبر المحطات الزمنية المختلفة.
3.3 حجم العينة وتأثيره على القوة الإحصائية
تتأثر القوة الإحصائية (Statistical Power) لاختبار مان-كيندال، وهي قدرة الاختبار على رفض الفرضية الصفرية بنجاح عند وجود اتجاه حقيقي، بشكل مباشر بطول السلسلة الزمنية وحجم العينة n. على الرغم من أن التقريب الطبيعي باستخدام الإحصائية Z يعمل بكفاءة مقبولة عندما يتجاوز حجم العينة 10 مشاهدات، إلا أن الدراسات المحاكية توصي بألا يقل طول السلسلة عن 30 إلى 50 مشاهدة في البيانات التي تتسم بتباين عالٍ، وذلك لضمان قوة اختبار كافية لاكتشاف الاتجاهات الطفيفة أو المتوسطة.
في الحالات التي تكون فيها العينة صغيرة جداً (أقل من 10 مشاهدات)، يفقد التقريب الطبيعي دقته الحسابية، ويصبح من الضروري الاعتماد على التوزيع الاحتمالي الدقيق المحسوب من خلال الجداول الإحصائية المخصصة لمان-كيندال أو عبر تقنيات التباديل وإعادة التوزيع (Permutation/Exact Tests). علاوة على ذلك، يلعب حجم العينة دوراً حاسماً في تضييق فترات الثقة لمعدل التغير، حيث تتيح السلاسل الطويلة عزلاً أفضل للضوضاء العشوائية عن الاتجاه الرتيب المنهجي.
4. إعداد بيئة العمل وتثبيت المكتبات البرمجية في بايثون
4.1 تثبيت مكتبة pymannkendall المتخصصة
تُعد مكتبة pymannkendall الحزمة البرمجية المتخصصة والشاملة الأكثر موثوقية لإجراء كافة تنويعات وتعديلات اختبار مان-كيندال في بيئة بايثون. تتميز المكتبة بكتابتها الدقيقة وخضوعها لاختبارات توافق مع دوال R الإحصائية المماثلة، وتوفر دعماً كاملاً للاختبار الأصلي، والاختبارات المعدلة للارتباط الذاتي، والاختبارات الموسمية والإقليمية، إضافة إلى حساب منحدر سين اللامعلمي.
يمكن تثبيت المكتبة بسهولة في بيئة العمل التفاعلية عبر مدير الحزم القياسي من خلال تشغيل الأمر التالي في سطر الأوامر:
pip install pymannkendall
وفي حال استخدام بيئة التوزيع العلمي Anaconda، يمكن تثبيت الحزمة عبر القناة الرسمية conda-forge باستخدام الأمر:
conda install -c conda-forge pymannkendall
تعتمد المكتبة داخلياً على حزم المعالجة الرياضية الأساسية، وتتوافق بشكل كامل مع مختلف إصدارات بايثون الحديثة، مما يجعل دمجها في خطوط الإنتاج والتحليل أمراً انسيابياً للغاية.
4.2 استيراد المكتبات الداعمة لتحليل البيانات
يتطلب التحليل الإحصائي المتكامل للسلاسل الزمنية بناء منظومة برمجية متناسقة تضم حزم المعالجة المصفوفية، إدارة البيانات الجدولية، والتصور البياني المتقدم. يبدأ البرنامج باستيراد مكتبة NumPy التي توفر هياكل المصفوفات الرقمية السريعة والعمليات الرياضية عالية الكفاءة، إلى جانب مكتبة Pandas التي تُعد الركيزة الأساسية للتعامل مع السلاسل الزمنية، تنظيم التواريخ، وإدارة القيم المفقودة.
ولأغراض الفحص البياني المسبق وتمثيل النتائج النهائية، يتم استيراد مكتبات التصور العلمي مثل Matplotlib و Seaborn. كما يُستعان بحزمة statsmodels لفحص دالة الارتباط الذاتي واختبار استقرارية السلسلة، إلى جانب استدعاء حزمة pymannkendall كعنصر محوري لتنفيذ الاختبارات اللامعلمية.
يتم تنظيم استيراد هذه الحزم في بداية نصوص بايثون البرمجية بالصيغة القياسية المعتمدة لدى مجتمع المطورين:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import pymannkendall as mk
from statsmodels.graphics.tsaplots import plot_acf
4.3 إعداد البيئة الافتراضية وهيكلة المشروع
لضمان استقرار نتائج التحليلات العلمية وقابليتها لإعادة الإنتاج (Reproducibility)، يُنصح بشدة بإنشاء بيئة افتراضية منعزلة (Virtual Environment) مخصصة لمشروع التحليل الإحصائي. يؤدي هذا الإجراء إلى تجنب التعارضات بين إصدارات المكتبات المختلفة وضمان عمل الكود البرمجي بنفس الكفاءة عبر الأجهزة والخوادم المتعددة. يمكن إنشاء البيئة عبر أداة venv المدمجة في بايثون وتفعيلها بسهولة.
ينبغي أيضاً ضبط إعدادات العرض الرياضي داخل بيئة التطوير للتحكم في عدد الخانات العشرية المطبوعة وتفادي أخطاء التقريب البصري. كما يُستحسن هيكلة مجلدات المشروع بفصل البيانات الخام (Raw Data) عن الأكواد البرمجية (Scripts) ومخرجات المخططات البيانية (Figures) والتقارير الإحصائية (Reports)، مما يسهم في خلق بيئة بحثية متكاملة تتوافق مع المعايير الأكاديمية العالمية للنشر العلمي المفتوح.
5. تنفيذ اختبار مان-كيندال الأساسي في بايثون خطوة بخطوة
5.1 بناء وهيكلة مجموعة البيانات التجريبية
تبدأ الخطوة التنفيذية الأولى بتهيئة السلسلة الزمنية وتحويلها إلى الهيكل المناسب للمعالجة البرمجية. يقبل محرك pymannkendall المدخلات بصيغة مصفوفات NumPy أحادية البعد، أو قوائم بايثون الرقمية (Lists)، أو كائنات سلاسل Pandas (Series). من الضروري للغاية التحقق من سلامة البيانات وخلوها من النصوص المدمجة أو التشوهات الهيكلية، والتأكد من ترتيب الصفوف زمنياً تصاعدياً من الأقدم إلى الأحدث.
فيما يلي كود برمجي يوضح كيفية إنشاء سلسلة زمنية تجريبية باستخدام Pandas تحاكي قياسات سلوكية أو بيئية مسجلة على مدار 24 شهراً متتالياً، مع توليد اتجاه تصاعدي طفيف مضاف إليه تباين عشوائي:
# توليد بذور عشوائية لضمان تكرار نفس النتائج
np.random.seed(42)
dates = pd.date_range(start='2022-01-01', periods=24, freq='M')
trend_component = np.linspace(10, 25, 24)
noise = np.random.normal(loc=0, scale=2.5, size=24)
values = trend_component + noise
ts_data = pd.Series(values, index=dates, name="Behavioral_Score")
5.2 استدعاء دالة الاختبار الأصلي mk.original_test
بعد تجهيز السلسلة الزمنية والتأكد من ترتيبها، يتم استدعاء دالة الاختبار الأصلي المباشر mk.original_test() من مكتبة pymannkendall. تقبل الدالة عدة معاملات مدخلة، أهمها مصفوفة البيانات الزمنية، ومعامل مستوى المعنوية alpha الذي يُضبط افتراضياً على 0.05، ويمكن تعديله إلى 0.01 أو أي مستوى ثقة يحدده الباحث وفقاً لطبيعة دراسته وتصميمه المنهجي.
يتم تنفيذ الاختبار من خلال السطر البرمجي المباشر:
result = mk.original_test(ts_data, alpha=0.05)
تتميز هذه الدالة بسرعة أدائها وكفاءتها الحسابية، حيث تقوم بإنشاء كافة المقارنات الثنائية وحساب الفروق والإشارات والتباينات المعيارية بدقة متناهية وفي أجزاء من الثانية، لتعيد كائناً يحتوي على ملخص إحصائي شامل للنتائج.

5.3 تشريح وفهم كائن النتائج العائد من بايثون
يُرجع استدعاء دالة الاختبار كائناً من نوع البيانات المسمى (Named Tuple) يحمل اسم Mann_Kendall_Test، ويحتوي على مجموعة من السمات الإحصائية الحيوية التي تفصل سلوك السلسلة. يتيح هذا الكائن للمبرمج الوصول المباشر إلى كل قيمة إحصائية على حدة لاستخدامها في إعداد التقارير التلقائية أو في الشروط المنطقية.
فيما يلي تفصيل السمات الإحصائية الرئيسية المكونة لكائن النتائج العائد:
- trend: يمثل وصفاً نصياً للاتجاه، وتكون قيمته إما ‘increasing’ (متزايد)، أو ‘decreasing’ (متناقص)، أو ‘no trend’ (لا يوجد اتجاه ذو دلالة).
- h: متغير منطقي (Boolean) يأخذ القيمة
Trueفي حال رفض الفرضية الصفرية وثبوت الاتجاه عند مستوى المعنوية alpha، أوFalseفي حال الفشل في رفض الفرضية الصفرية. - p: القيمة الاحتمالية الدقيقة (p-value) للاختبار.
- z: القيمة المعيارية المحسوبة Z من التوزيع الطبيعي القياسي.
- Tau: معامل ارتباط تاو كيندال، المعبر عن قوة واتجاه الارتباط الرتيبة.
- s: إحصائية مان-كيندال الأساسية (S-score) الناتجة عن مجموع إشارات الفروق.
- var_s: التباين الإحصائي المحسوب للإحصائية S مع الأخذ في الحسبان تصحيح القيم المكررة.
- slope: ميل سين اللامعلمي (Sen’s Slope) المعبر عن المقدار العددي لمتوسط التغير لكل وحدة زمنية.
يمكن طباعة النتائج بصورة منسقة باستخدام الكود التالي:
print(f"نوع الاتجاه: {result.trend}")
print(f"رفض الفرضية الصفرية: {result.h}")
print(f"القيمة الاحتمالية (p-value): {result.p:.5f}")
print(f"القيمة المعيارية (Z): {result.z:.4f}")
print(f"معامل تاو (Tau): {result.Tau:.4f}")
print(f"ميل سين (Sen's Slope): {result.slope:.4f}")
6. تفسير نتائج اختبار مان-كيندال الإحصائية بدقة
6.1 تفسير دلالة الاتجاه ونوع النتيجة (trend & h)
يتطلب التفسير الإحصائي السليم لنتائج الاختبار الربط بين مخرجات السمة trend والسمة المنطقية h وسياق الظاهرة المدروسة. عند ظهور القيمة trend = 'increasing' مقترنة بـ h = True، فهذا يقدم دليلاً إحصائياً قاطعاً على أن المتغير يشهد زيادة منتظمة ورتيبة عبر الفترات الزمنية لا يمكن عزوها إلى المصادفة العشوائية عند مستوى الثقة 95% (إذا كان alpha=0.05). وبالمثل، فإن trend = 'decreasing' مع h = True تدل على انخفاض رتيب ذي دلالة.
في المقابل، إذا كانت النتيجة h = False، فستظهر السمة trend = 'no trend'، وهو ما يعني عدم توفر أدلة كافية لرفض الفرضية الصفرية. ومن الضروري هنا التأكيد المنهجي على أن النتيجة False لا تعني بالضرورة ثبات المتغير المطلق أو عدم تغيره، بل تعني أن التغيرات الحادثة تتذبذب عشوائياً دون مسار رتيب موجه، أو أن قوة الاختبار لم تكن كافية لاكتشاف الاتجاه بسبب قصر السلسلة أو ارتفاع معدل الضوضاء العشوائية.
6.2 تقييم القيمة الاحتمالية p-value ومستويات المعنوية
تمثل القيمة الاحتمالية (p-value) الاحتمال الرياضي لملاحظة إحصائية S مساوية للقيمة المحسوبة أو أكثر تطرفاً منها، بافتراض صحة الفرضية الصفرية تماماً. تتم مقارنة هذه القيمة بالعتبات الأكاديمية المتعارف عليها:
- إذا كانت p < 0.001: الاتجاه ذو دلالة إحصائية فائقة القوة (Highly Significant).
- إذا كانت 0.001 ≤ p < 0.01: الاتجاه ذو دلالة إحصائية قوية جداً عند مستوى ثقة 99%.
- إذا كانت 0.01 ≤ p < 0.05: الاتجاه ذو دلالة إحصائية مقبولة عند مستوى الثقة القياسي 95%.
- إذا كانت p ≥ 0.05: الاتجاه يفتقر إلى الدلالة الإحصائية ويُعزى إلى التباين العشوائي.
عند صياغة التقرير الإحصائي الأكاديمي وفقاً لمعايير الجمعية الأمريكية لعلم النفس (APA 7th Edition)، يتم توثيق النتائج بصيغة متكاملة تذكر إحصائية Z، القيمة الاحتمالية، ومعامل تاو. على سبيل المثال: “أظهر اختبار مان-كيندال وجود اتجاه تنازلي دال إحصائياً في درجات أعراض الاكتئاب عبر الزمن (Z = -3.42, p < .001, Kendall’s Tau = -0.48)”.
6.3 فهم معامل ارتباط كيندال (Kendall’s Tau) وقيمته
يُعد معامل كيندال للارتباط الرتبي (Kendall’s Tau) مقياساً معيارياً لقوة واتجاه الارتباط اللامعلمي، وتتراوح قيمته دائماً بين (+1.0) و (-1.0). تشير القيمة (+1.0) إلى اتفاق تام وتطابق رتيب تصاعدي كامل بين الزمن والمتغير، في حين تشير القيمة (-1.0) إلى انخفاض رتيب مثالي، وتشير القيمة (0.0) إلى غياب تام لأي ارتباط رتبي.
يوفر معامل تاو ميزة تفسيرية إضافية مقارنة بإحصائية S المجردة، حيث إنه مقياس نسبي غير متأثر بحجم العينة، مما يتيح للباحثين مقارنة شدة الاتجاهات عبر سلاسل زمنية مختلفة الطول. وبالمقارنة مع معامل سبيرمان (Spearman’s Rho)، يتميز تاو كيندال بخصائص توزيعية أكثر دقة في العينات الصغيرة وتفسير رياضي أوضح يعتمد على نسبة الأزواج المتوافقة (Concordant Pairs) مطروحاً منها نسبة الأزواج غير المتوافقة (Discordant Pairs).
7. التعامل مع الارتباط الذاتي باستخدام اختبارات مان-كيندال المعدلة
7.1 اختبار هاميد وراماشاندرا المعدل (Hamed and Rao Modified MK Test)
عندما تفشل السلسلة الزمنية في تحقيق شرط الاستقلالية ويظهر فحص الارتباط الذاتي وجود اعتمادية زمنية موجبة دالة إحصائياً بين المشاهدات، يصبح استخدام اختبار مان-كيندال الأصلي غير صالح ومضللاً. لتجاوز هذه المعضلة المنهجية، طور الباحثان هاميد وراو (Hamed and Rao) في عام 1998 تعديلاً رياضياً متقدماً يقوم على تعديل تباين الإحصائية S من خلال استخدام معاملات الارتباط الذاتي لرتب البيانات وليس للقيم الخام.
يقوم اختبار هاميد-راو بحساب عامل تصحيح تباين مشتق من معاملات الارتباط الذاتي المهمة إحصائياً عند مختلف الإزاحات الزمنية (Lags)، مما يرفع قيمة التباين ليعكس الاعتمادية الحقيقية ويحد من تضخم إحصائية Z الكاذبة. توفر مكتبة pymannkendall هذا الاختبار المتقدم عبر الدالة mk.hamed_rao_modification_test()، وتُنفذ برمجياً كما يلي:
# تنفيذ اختبار هاميد-راو المعدل لمواجهة الارتباط الذاتي
hr_result = mk.hamed_rao_modification_test(ts_data, alpha=0.05)
print(f"نتيجة اختبار هاميد-راو: {hr_result.trend}, p-value: {hr_result.p:.5f}")
7.2 طريقة التبييض المسبق ليو وانغ (Yue and Wang Modification Test)
اقترح الباحثان يو ووانغ (Yue and Wang) في عام 2004 مدخلاً منهجياً بديلاً للتعامل مع الارتباط الذاتي يُعرف باسم “طريقة التبييض المسبق مع إزالة الاتجاه” (Trend-Free Pre-Whitening – TFPW). تعالج هذه التقنية مشكلة شائعة في تحليل السلاسل؛ حيث إن وجود اتجاه قوي في البيانات قد يضخم بشكل مصطنع تقدير معامل الارتباط الذاتي من الدرجة الأولى AR(1).
تتلخص خوارزمية يو-وانغ في أربع خطوات متتالية:
- تقدير ميل الاتجاه اللامعلمي للسلسلة باستخدام ميل سين وإزالة هذا الاتجاه مؤقتاً للحصول على سلسلة متبقيات خالية من الاتجاه.
- حساب معامل الارتباط الذاتي AR(1) من سلسلة المتبقيات، وتطبيق عملية التبييض المسبق (إزالة الارتباط الذاتي) لعزل الضوضاء البيضاء.
- إعادة إضافة ميل الاتجاه المحسوب في الخطوة الأولى إلى السلسلة المبيضة.
- تطبيق اختبار مان-كيندال القياسي على السلسلة المجمعة الناتجة.
يمكن استدعاء هذا الاختبار المتقدم برمجياً باستخدام الدالة المخصصة في بايثون:
# تنفيذ اختبار يو-وانغ بتقنية التبييض المسبق الخالي من الاتجاه
yw_result = mk.yue_wang_modification_test(ts_data, alpha=0.05)
print(f"نتيجة اختبار يو-وانغ: {yw_result.trend}, p-value: {yw_result.p:.5f}")
7.3 مقارنة النتائج واختيار التعديل الإحصائي الأنسب
يوضح الجدول التالي مقارنة منهجية بين اختبار مان-كيندال القياسي والاختبارات المعدلة لبيان متى يُنصح باستخدام كل دالة في مشاريع تحليل السلاسل الزمنية:
جدول المقارنة المنهجية لاختبارات مان-كيندال:
- الاختبار الأصلي (original_test): الخيار الأمثل عندما تكون السلسلة خالية تماماً من الارتباط الذاتي (البيانات مستقلة تماماً). يعيبه تضخيم الخطأ من النوع الأول عند وجود ارتباط ذاتي.
- اختبار هاميد-راو (hamed_rao_modification_test): مثالي للسلاسل التي تحتوي على ارتباط ذاتي متعدد الفترات (Lags متعددة). يقوم بتعديل التباين بدقة عبر معاملات ارتباط الرتب دون تعديل قيم السلسلة نفسها.
- اختبار يو-وانغ (yue_wang_modification_test): الأنسب للسلاسل التي تتضمن اتجاهاً بارزاً متزامناً مع ارتباط ذاتي من الدرجة الأولى AR(1). يعيبه احتمال تقليل حجم العينة الفعال قليلاً نتيجة الفروق الزمنية.
يوصى ببناء شجرة اتخاذ قرار برمجية في بايثون تقوم تلقائياً باختبار فرضية انعدام الارتباط الذاتي باستخدام اختبار ديربن-واتسون أو فحص دالة ACF؛ فإذا كان الارتباط الذاتي غير دال إحصائياً، يُعتمد الاختبار الأصلي، وفي حال وجود ارتباط ذاتي دال، يتم التبديل تلقائياً إلى اختبار هاميد-راو أو يو-وانغ لضمان موثوقية النتائج.
8. تحليل الاتجاهات الموسمية باستخدام اختبار مان-كيندال الموسمي (Seasonal MK)
8.1 الأساس النظري للاختبار الموسمي لهيرش وسلاك
تتميز العديد من السلاسل الزمنية بوجود تقلبات دورية متكررة مرتبطة بفصول السنة أو بأيام الأسبوع أو الأشهر، وهو ما يُعرف بالموسمية (Seasonality). إذا طُبق اختبار مان-كيندال القياسي على بيانات موسمية، فإن التغيرات الدورية الصاعدة والهابطة ستتداخل مع الاتجاه العام طويل الأمد، مما قد يخفي اتجاهاً حقيقياً أو يولد اتجاهاً زائفاً ناتجاً عن تباين الفصول.
لحل هذه المعضلة، طور هيرش وسلاك (Hirsch, Slack, and Smith) في عام 1982 ما يُعرف باسم “اختبار مان-كيندال الموسمي” (Seasonal Mann-Kendall Test). تعتمد الفكرة الرياضية للاختبار على تقسيم السلسلة الزمنية إلى مجموعات فرعية متجانسة تمثل كل منها موسماً محدداً (مثلاً: مقارنة قيم شهر يناير فقط عبر السنوات المتعاقبة، ومقارنة قيم شهر فبراير فقط بشكل مستقل، وهكذا). يتم بعد ذلك حساب إحصائية S والتباين الخاص بكل موسم على حدة، وفي الخطوة الأخيرة، تُجمع إحصائيات المواسم معاً لاشتقاق إحصائية كلية موحدة تعبر عن الاتجاه العام بعد تحييد الأثر الموسمي تماماً.
8.2 تنفيذ الدالة mk.seasonal_test في بايثون
توفر حزمة pymannkendall تنفيذاً مباشراً وعالي الكفاءة للاختبار الموسمي من خلال الدالة mk.seasonal_test(). تتطلب هذه الدالة تحديد المعامل الإلزامي period، وهو الرقم المعبر عن دورية التكرار الموسمي داخل السلسلة الزمنية. على سبيل المثال، يُحدد المعامل period = 12 للبيانات الشهرية السنوية، و period = 4 للبيانات الربع سنوية، و period = 7 للبيانات اليومية التي تتبع نمطاً أسبوعياً.
يوضح الكود التالي كيفية إنشاء سلسلة زمنية موسمية تمتد لست سنوات (72 شهراً) وتنفيذ التحليل الموسمي عليها:
# توليد بيانات شهرية تحتوي على نمط موسمي سنوي واتجاه عام
time_index = pd.date_range(start='2018-01-01', periods=72, freq='M')
seasonal_cycle = 5 * np.sin(2 * np.pi * np.arange(72) / 12)
upward_trend = np.linspace(20, 35, 72)
random_noise = np.random.normal(0, 1.5, 72)
seasonal_data = pd.Series(seasonal_cycle + upward_trend + random_noise, index=time_index)
# تنفيذ اختبار مان-كيندال الموسمي
smk_result = mk.seasonal_test(seasonal_data, period=12, alpha=0.05)
print(f"الاتجاه الموسمي العام: {smk_result.trend}")
print(f"القيمة الاحتمالية الإجمالية: {smk_result.p:.5f}")
print(f"ميل سين الموسمي: {smk_result.slope:.4f}")
8.3 تطبيقات الاتجاهات الدورية في الأنماط السلوكية
يفتح اختبار مان-كيندال الموسمي آفاقاً تطبيقية واسعة في أبحاث الطب النفسي والعلوم السلوكية المعقدة. من أبرز هذه التطبيقات دراسة “الاضطراب العاطفي الموسمي” (Seasonal Affective Disorder – SAD)، حيث يعاني المرضى من انخفاضات متكررة في المزاج خلال فصول الشتاء وارتفاعات في الصيف؛ يتيح الاختبار الموسمي للباحثين تقييم ما إذا كان التدخل العلاجي طويل الأمد ينجح في تحسين مسار المرض العام على مدار سنوات متعددة بمعزل عن التذبذبات المناخية الدورية المتوقعة.
كما يُستخدم الاختبار في دراسات الالتزام بتناول الأدوية النفسية ومتابعة العيادات الخارجية، حيث تظهر البيانات غالباً انخفاضاً دورياً في أيام العطلات الأسبوعية ونهايات الشهور؛ فعبر ضبط معامل الدورية (period=7)، يستطيع المحلل عزل أثر أيام الأسبوع واستنتاج ما إذا كان هناك تحسن حقيقي ومستدام في التزام المريض بالبروتوكول العلاجي على مدار الأشهر المتعاقبة.
9. تقدير حجم الأثر ومعدل التغير باستخدام ميل سين (Sen’s Slope Estimator)
9.1 النظرية الحسابية لمنحدر سين اللامعلمي
بينما يختص اختبار مان-كيندال بالإجابة عن السؤال النوعي: “هل يوجد اتجاه رتيب ذو دلالة إحصائية؟”، فإنه لا يقدم تقديراً كمياً لمقدار هذا التغير. وهنا يتكامل الاختبار دائماً مع مقدر ميل سين (Sen’s Slope Estimator)، الذي ابتكره الإحصائي براناب كومار سين (Pranab Kumar Sen) عام 1968 كأداة لامعلمية لحساب معدل التغير الخطي غير المتحيز لكل وحدة زمنية.
تعتمد النظرية الحسابية لمنحدر سين على حساب الميول الفردية (Slopes) لجميع أزواج النقاط الممكنة في السلسلة الزمنية. إذا كان لدينا سلسلة بحجم n، فإن عدد الأزواج الممكنة هو n*(n-1)/2. يُحسب الميل لكل زوج بطرح قيمة المشاهدة السابقة من اللاحقة وقسمة الناتج على الفارق الزمني بينهما. بعد حساب جميع الميول الممكنة، يُعرف ميل سين بأنه **الوسيط الرياضي (Median)** لتلك المصفوفة الشاملة من الميول. يمنح استخدام الوسيط بدلاً من المتوسط الحسابي مقدر سين مناعة استثنائية ضد القيم المتطرفة والشاذة مقارنة بميل المربعات الصغرى العادية (OLS Slope) في الانحدار الخطي التقليدي.
9.2 حساب ميل سين وفترات الثقة في بايثون
توفر حزمة pymannkendall دالة مستقلة لحساب ميل سين، كما تدرجه تلقائياً كسمة ضمن نتائج جميع اختبارات مان-كيندال. تقوم الدالة mk.sens_slope() بحساب الوسيط الإجمالي للميول، إلى جانب اشتقاق الحد الأدنى والأعلى لفترة الثقة اللامعلمية للميل عند مستوى الثقة المطلوب (عادة 95%).
يوضح الكود التالي كيفية استخراج ميل سين وفترة ثقته وتفسير قيمه:
# حساب ميل سين وفترة الثقة للبيانات
slope_result = mk.sens_slope(ts_data, alpha=0.05)
print(f"ميل سين (معدل التغير لكل وحدة زمنية): {slope_result.slope:.4f}")
print(f"الحد الأدنى لفترة الثقة: {slope_result.cint[0]:.4f}")
print(f"الحد الأعلى لفترة الثقة: {slope_result.cint[1]:.4f}")
إذا كانت قيمة الميل تساوي مثلاً (+0.65)، فهذا يعني أن المتغير السلوكي أو البيئي يزداد بمتوسط مقداره 0.65 وحدة لكل فترة زمنية واحدة (شهراً أو يوماً). وإذا كانت فترة الثقة لا تشمل الرقم صفر بين حديها (مثلاً بين 0.32 و 0.98)، فإن ذلك يعزز اليقين الإحصائي بأن معدل التغير موجب ودال إحصائياً.
9.3 التكامل بين الدلالة الإحصائية وحجم الأثر العددي
في الممارسات البحثية المتقدمة، يُعد الاعتماد الحصري على القيمة الاحتمالية (p-value) خطأً منهجياً شائعاً، حيث إن العينات الزمنية الضخمة جداً قد تسفر عن قيم p صغيرة جداً وتكشف عن اتجاهات دالة إحصائياً ولكنها متناهية في الصغر وتفتقر إلى أي أهمية عملية أو سريرية (Clinical/Practical Significance). لذلك، يمثل التكامل بين اختبار مان-كيندال وميل سين التجسيد المنهجي لتقييم كل من “الدلالة الإحصائية” و”حجم الأثر” (Effect Size).
يوضح الجدول التالي كيفية تصنيف نتائج الاتجاهات بناءً على التكامل بين الاختبارين:
مصفوفة تفسير التكامل الإحصائي والعملي:
- دلالة إحصائية (p < 0.05) + ميل سين كبير: اتجاه حقيقي ومؤثر عملياً يستدعي التدخل واتخاذ القرارات الإدارية أو السريرية.
- دلالة إحصائية (p < 0.05) + ميل سين يقترب من الصفر: اتجاه دال إحصائياً فقط بسبب كبر حجم العينة، لكنه ضعيف الأثر من الناحية العملية.
- غياب الدلالة (p ≥ 0.05) + ميل سين كبير: تغير ملحوظ ظاهرياً ولكنه غير مستقر إحصائياً نتيجة ارتفاع التباين العشوائي أو صغر العينة؛ يستلزم جمع مزيد من البيانات.
- غياب الدلالة (p ≥ 0.05) + ميل سين يقترب من الصفر: استقرار تام للظاهرة وعدم وجود أي مؤشرات لتغير رتيب.
10. تطبيقات عملية للاختبار في تحليل البيانات النفسية والسلوكية الطولية
10.1 رصد تتبع درجات القلق والاكتئاب للمرضى عبر الزمن
في العيادات النفسية ومراكز العلاج السلوكي المعرفي (CBT)، يخضع المرضى لتقييمات أسبوعية دورية باستخدام مقاييس موحدة مثل مقياس الاكتئاب (PHQ-9) ومقياس القلق العام (GAD-7). تهدف هذه القياسات المتكررة إلى التحقق مما إذا كان البروتوكول العلاجي يحقق انخفاضاً تدريجياً رتيباً في حدة الأعراض لدى المريض على مدار فترة العلاج الممتدة لعدة أسابيع.
يوضح الكود التالي سيناريو واقعياً لمتابعة درجات مريض عبر 16 أسبوعاً من العلاج النفسي وتطبيق اختبار مان-كيندال لتقييم فعالية المسار العلاجي:
# بيانات درجات مقياس PHQ-9 لمريض عبر 16 أسبوعاً
weeks = pd.date_range(start='2023-01-01', periods=16, freq='W')
phq9_scores = [22, 21, 23, 19, 18, 17, 18, 15, 14, 12, 13, 11, 9, 8, 8, 6]
patient_df = pd.Series(phq9_scores, index=weeks, name="PHQ9_Score")
# اختبار وجود اتجاه رتيب في درجات الاكتئاب
cbt_test = mk.original_test(patient_df)
cbt_slope = mk.sens_slope(patient_df)
print(f"الاتجاه العلاجي: {cbt_test.trend}")
print(f"القيمة الاحتمالية: {cbt_test.p:.5f}")
print(f"معدل انخفاض الأعراض أسبوعياً: {abs(cbt_slope.slope):.2f} درجة")
يقدم التحليل دليلاً إحصائياً حاسماً للطبيب المعالج على أن التراجع في درجات الاكتئاب يمثل مسار تعافٍ رتيباً ذا دلالة، حيث يحدد ميل سين المقدار الدقيق لانخفاض الأعراض لكل أسبوع علاجي.
10.2 تقييم استجابة التدخلات العلاجية وتصميم الحالة الواحدة (Single-Case Design)
يُعد تصميم الحالة الواحدة (Single-Case Experimental Design – SCED) من أهم المنهجيات البحثية في علم النفس الإكلينيكي والتربية الخاصة. يتضمن هذا التصميم جمع قياسات متكررة خلال مرحلة خط الأساس (Baseline Phase – A) تليها مرحلة التدخل العلاجي (Intervention Phase – B). يمثل اختبار مان-كيندال أداة تحليلية مثالية لبيانات الحالة الواحدة لسببين رئيسيين:
- فحص استقرار خط الأساس: يُطبق الاختبار على مرحلة خط الأساس للتأكد من عدم وجود اتجاه مسبق نحو التحسن التلقائي قبل تطبيق العلاج، مما يضمن عزو التحسن لاحقاً إلى التدخل العلاجي حصراً.
- قياس تنامي أثر التدخل: يُطبق الاختبار على مرحلة العلاج للتحقق من استمرار وتصاعد أثر التدخل السلوكي عبر جلسات المتابعة.
تساعد هذه التحليلات الدقيقة في اتخاذ قرارات مبنية على الأدلة الاستدلالية حول تعديل الجرعات العلاجية أو تغيير الاستراتيجيات السلوكية المتبعة مع كل حالة بشكل فردي ومخصص.
10.3 تحليل مسارات التدهور أو النمو المعرفي في الدراسات التتبعية
في دراسات علم النفس العصبي والشيخوخة، يُتابع الباحثون الوظائف المعرفية للمسنين على مدى سنوات باستخدام اختبارات فحص الحالة العقلية المصغر (MMSE) أو اختبارات الذاكرة العاملة للكشف المبكر عن التدهور المعرفي الخفيف (MCI) ومرض الزهايمر. تواجه هذه الدراسات تحدياً يتمثل في وجود تذبذبات يومية وشهرية في أداء كبار السن ناجمة عن الحالة المزاجية، جودة النوم، أو التعب البدني المؤقت أثناء جلسة الاختبار.
يتيح تطبيق اختبار مان-كيندال في بايثون معالجة مئات السلاسل الزمنية للمشاركين بالتوازي؛ حيث يقوم الاختبار بفلترة التذبذبات السطحية وعزل الاتجاه الرتيب طويل المدى. إذا أظهر مريض مساراً تنازلياً دالاً إحصائياً في درجات الفحص المعرفي على مدار 3 سنوات متتالية، فإن ذلك يمثل إشارة إنذار مبكرة تتيح للفريق الطبي التدخل الدوائي والتأهيلي قبل الوصول إلى مراحل متقدمة من التدهور العصبي.
11. التصور البياني المتقدم لنتائج مان-كيندال وميل سين في بايثون
11.1 رسم السلاسل الزمنية مع خط انحدار سين باستخدام Matplotlib
يمثل التمثيل البصري الجسر الرابط بين التحليل الإحصائي الرقمي والفهم الإدراكي للاتجاهات. يتضمن التصور العلمي القياسي رسم نقاط السلسلة الزمنية الفعلية كمخطط تشتت (Scatter Plot) متصل بخطوط خفيفة، ثم تركيب خط اتجاه ميل سين اللامعلمي فوق البيانات لإبراز المسار العام.
فيما يلي الكود البرمجي الكامل لبناء مخطط بياني احترافي باستخدام Matplotlib جاهز للنشر في المجلات العلمية:
# حساب معلمات خط ميل سين
res = mk.original_test(ts_data)
x = np.arange(len(ts_data))
# حساب نقطة التقاطع اللامعلمية كمتوسط الفروق بين القيم والميل
intercept = np.median(ts_data.values - res.slope * x)
trend_line = intercept + res.slope * x
# إعداد المخطط البياني
plt.figure(figsize=(10, 6), dpi=300)
plt.plot(ts_data.index, ts_data.values, marker='o', linestyle='-', color='#1f77b4', label='المشاهدات الفعلية', alpha=0.8)
plt.plot(ts_data.index, trend_line, color='#d62728', linestyle='--', linewidth=2, label=f'خط ميل سين (Slope={res.slope:.2f})')
# تخصيص المظهر والعناوين الإحصائية
plt.title(f'تحليل اتجاه مان-كيندال للسلسلة الزمنيةn(Z = {res.z:.2f}, p = {res.p:.4f}, Trend = {res.trend})', fontsize=12, fontweight='bold')
plt.xlabel('التاريخ / النقطة الزمنية', fontsize=10)
plt.ylabel('الدرجة / القيمة المقاسة', fontsize=10)
plt.grid(True, linestyle=':', alpha=0.6)
plt.legend(loc='upper left', frameon=True)
plt.tight_layout()
plt.show()
11.2 تمثيل فترات الثقة ونقاط التحول زمنياً
لإضفاء مزيد من العمق التحليلي على التمثيل البياني، يُنصح بتظليل المنطقة المحصورة بين الحدود الدنيا والعليا لفترة ثقة ميل سين بنسبة 95%. يوفر هذا التظليل لمتخذ القرار والباحث رؤية واضحة لمستوى عدم اليقين المحيط بتقدير معدل التغير عبر الزمن.
يمكن تنفيذ ذلك في بايثون باستخدام دالة plt.fill_between() من خلال حساب خطوط الاتجاه المستندة إلى الحدين الأدنى والأعلى لفترة الثقة المستخرجة من السمة cint. كما يمكن استخدام حزمة Seaborn لتمييز النقاط الشاذة أو الحالات السريرية الخاصة بألوان متباينة، وإنشاء شبكة من المخططات المتعددة (Subplots) لمقارنة اتجاهات عدة مجموعات علاجية أو مناطق جغرافية بالتوازي ضمن لوحة موحدة.
11.3 إنشاء لوحة معلومات تفاعلية للاتجاهات السلوكية
عند التعامل مع مشاريع البيانات الكبرى أو بناء منصات المراقبة السريرية الحية، تبرز الحاجة إلى مخططات تفاعلية تمكن المستخدم من استكشاف التفاصيل بدقة. توفر مكتبة Plotly إمكانيات فائقة لإنشاء لوحات معلومات تفاعلية تعتمد على متصفح الويب.
من خلال Plotly، يمكن برمجة مخطط يعرض القيم التفصيلية، التاريخ الدقيق، وقيمة إحصائية مان-كيندال وميل سين بمجرد تمرير الفأرة (Hover) فوق أي نقطة زمنية. كما تتيح هذه الأدوات للمحللين تكبير وتصغير النوافذ الزمنية (Zoom & Pan) لفحص الاتجاهات الفرعية ضمن فترات محددة، مع إمكانية تصدير الرسوم بجودة متجهة عالية الدقة (Vector SVG/PDF) لتضمينها في التقارير المؤسسية والأوراق البحثية المحكمة.
12. الأخطاء المنهجية الشائعة وأفضل الممارسات التحليلية في بايثون
12.1 الأخطاء الشائعة عند تطبيق الاختبار في بايثون
يقع العديد من المحللين والباحثين في مجموعة من الأخطاء المنهجية والبرمجية المتكررة عند إجراء اختبار مان-كيندال، ومن أبرز هذه المزالق:
- تجاهل فحص الارتباط الذاتي: التطبيق المباشر للاختبار الأصلي
mk.original_test()على سلاسل تحتوي على ارتباط ذاتي قوي، مما يؤدي إلى الوقوع الحتمي في الخطأ من النوع الأول وقبول اتجاهات وهمية. - إهمال الموسمية البارزة: محاولة تحليل بيانات تتضمن دورات موسمية واضحة باستخدام الاختبار القياسي، وهو ما يشوه حسابات الرتب؛ والحل الصحيح هو استخدام
mk.seasonal_test(). - تمرير مصفوفات غير مرتبة زمنياً: إدخال بيانات غير مفروزة بحسب التواريخ تصاعدياً، مما يدمر منطق حساب إحصائية S بالكامل ويجعل النتائج الرياضية عديمة القيمة.
- الاعتماد الحصري على مخرجات True/False: الاكتفاء بقراءة المتغير المنطقي
hدون النظر إلى القيمة الاحتمالية الدقيقةpأو تقدير حجم الأثر عبر ميل سينslope.
12.2 الاعتبارات المنهجية للربط بين النتائج الإحصائية والواقعية
من الأهمية بمكان إدراك الحدود النظرية لاختبار مان-كيندال؛ فالاختبار مصمم حصرياً لاكتشاف **الاتجاهات الرتيبة** (Monotonic Trends). ويعني هذا أن السلسلة إذا كانت تتبع مساراً غير رتيب ولكنه منظم، مثل المسارات التربيعية (U-shaped أو Inverted U-shaped) التي تشهد صعوداً يليه هبوط حاد، فإن اختبار مان-كيندال قد يظهر النتيجة no trend مع p > 0.05.
لذلك، يجب ألا يُفهم غياب الاتجاه الرتيب على أنه غياب للعلاقة بين المتغير والزمن؛ بل يقتضي البروتوكول العلمي المنهجي الجمع دائماً بين الاستدلال الإحصائي اللامعلمي والفحص البصري التمهيدي لمخطط السلسلة الزمنية. إذا كشف المخطط عن أنماط دائرية أو علاقات غير رتيبة معقدة، يجب اللجوء إلى نماذج تحليلية أخرى مثل نماذج السلاسل الزمنية غير الخطية أو الانحدار اللامعلمي متعدد الحدود (LOESS/GAM).
12.3 قائمة التحقق البرمجية الشاملة (Checklist) قبل اعتماد النتائج
لضمان أعلى معايير الدقة العلمية وقابلية إعادة الإنتاج لمشاريع تحليل البيانات في بايثون، يُوصى باتباع قائمة التحقق التالية قبل اعتماد ونشر النتائج الإحصائية النهائية:
- ترتيب البيانات: التأكد التام من فرز السلسلة الزمنية تصاعدياً بحسب التواريخ (Chronological Sorting).
- معالجة القيم المفقودة: فحص الفجوات الزمنية والتأكد من أنها لا تتجاوز النسب المسموح بها ولا تتبع نمطاً متحيزاً.
- فحص الارتباط الذاتي (ACF): رسم دالة الارتباط الذاتي واستخدام اختبار هاميد-راو أو يو-وانغ في حال وجود ارتباطات دالة عند الفترات الزمنية الأولى.
- فحص الموسمية: التحقق من وجود دورات موسمية واختيار دالة
seasonal_testمع تحديد المعاملperiodبدقة إذا لزم الأمر. - حساب ميل سين وفترة الثقة: تقدير معدل التغير الرقمي والتأكد من عدم شمول فترة الثقة للقيمة صفر لدعم القرار الإحصائي.
- التوثيق البرمجي الكامل: تدوين إصدارات المكتبات المستخدمة (Python, pymannkendall, pandas) وتثبيت بذور التوزيع العشوائي (Random Seeds) لضمان مطابقة النتائج عند إعادة التشغيل.
خاتمة
يمثل اختبار مان-كيندال للاتجاه ومقدر ميل سين ركيزة متكاملة وفائقة القوة في ترسانة التحليل اللامعلمي للسلاسل الزمنية، حيث يجمعان بين البساطة الرياضية والمناعة الاستثنائية ضد انتهاكات التوزيع الطبيعي والبيانات الشاذة. ومن خلال توظيف لغة بايثون والمكتبات المتخصصة مثل pymannkendall، بات بإمكان الباحثين والمحللين بناء خطوط معالجة آلية متطورة تتدرج من فحص الاستقلالية ومعالجة الارتباط الذاتي والموسمية، وصولاً إلى التصور البياني التفاعلي وحساب فترات الثقة بدقة متناهية. إن الالتزام بالقواعد المنهجية الصارمة وقوائم الفحص المعتمدة يضمن تحويل السلاسل الزمنية المعقدة إلى رؤى علمية دقيقة تسهم في دعم اتخاذ القرارات في العلوم النفسية، السلوكية، البيئية، والطبية.
References
- Hamed, K. H., & Rao, A. R. (1998). A modified Mann-Kendall trend test for autocorrelated data. Journal of Hydrology, 204(1-4), 182-196. https://doi.org/10.1016/S0022-1694(97)00125-X
- Hirsch, R. M., Slack, J. R., & Smith, R. A. (1982). Techniques of trend analysis for monthly water quality data. Water Resources Research, 18(1), 107-121. https://doi.org/10.1029/WR018i001p00107
- Hussain, M. M., & Mahmud, I. (2019). pyMannKendall: a python package for non parametric Mann Kendall family of trend tests. Journal of Open Source Software, 4(39), 1556. https://doi.org/10.21105/joss.01556
- Kendall, M. G. (1975). Rank Correlation Methods (4th ed.). Charles Griffin.
- Mann, H. B. (1945). Nonparametric tests against trend. Econometrica, 13(3), 245-259. https://doi.org/10.2307/1907187
- Sen, P. K. (1968). Estimates of the regression coefficient based on Kendall’s tau. Journal of the American Statistical Association, 63(324), 1379-1389. https://doi.org/10.1080/01621459.1968.10480934
- Yue, S., & Wang, C. (2004). The Mann-Kendall test modified by effective sample size to detect trend in serially correlated hydrological series. Water Resources Management, 18(3), 201-218. https://doi.org/10.1023/B:WARM.0000043140.61082.60