How to Perform a KPSS Test in R (Including Example)

تاريخ النشر

يُعد تحليل السلاسل الزمنية (Time Series Analysis) أحد الركائز الجوهرية في الاقتصاد القياسي المعاصر، وتحليل البيانات المالية، والنمذجة التنبؤية. وتعتمد الغالبية العظمى من النماذج القياسية الكلاسيكية والمتقدمة — مثل نماذج الانحدار الذاتي والمتوسطات المتحركة (ARMA)، ونماذج الانحدار الذاتي المتجهي (VAR)، ونماذج التكامل المشترك (Cointegration) — على افتراض أساسي لا غنى عنه، ألا وهو استقرارية السلسلة الزمنية (Stationarity). يشير مفهوم الاستقرارية الضعيفة أو التناغمية إلى ثبات المتوسط الحسابي والتباين والارتباط الذاتي عبر الزمن، وعدم اعتمادها على النقطة الزمنية التي يُقاس عندها المتغير. يؤدي تجاهل هذا الافتراض إلى الوقوع في فخ ما يُعرف إحصائياً بـ “الانحدار الزائف” (Spurious Regression)، حيث تظهر العلاقات بين المتغيرات قوية وذات دلالة إحصائية مضللة ومرتفعة، بينما هي في الواقع ناتجة فقط عن وجود اتجاه عام مشترك غير مستقر.

وعلى الرغم من الشهرة الواسعة التي تحظى بها اختبارات جذر الوحدة التقليدية (Unit Root Tests) مثل اختبار ديكي-فولر المعمم (Augmented Dickey-Fuller – ADF) واختبار فيليبس-بيرون (Phillips-Perron – PP)، إلا أن هذه الاختبارات الكلاسيكية تعاني من مشكلة منهجية متأصلة تتمثل في ضعف القوة الإحصائية (Low Statistical Power)، لا سيما في مواجهة البدائل القريبة من جذر الوحدة أو في العينات الصغيرة ومتوسطة الحجم. تنطلق هذه الاختبارات التقليدية من فرضية صفرية تفترض عدم استقرار السلسلة الزمنية واحتوائها على جذر الوحدة، مما يجعل عبء الإثبات مائلاً نحو رفض الاستقرارية ما لم تتوافر أدلة قاطعة تدحض ذلك. ومن هذا المنطلق، ظهرت الحاجة الملحة إلى تطوير مقاربة إحصائية عكسية ومكملة تضع السكونية والاستقرارية كفرضية صفرية، وهو ما تحقق عبر اختبار كوياتكوفسكي-فيليبس-شميدت-شين، المعروف اختصاراً باختبار KPSS Test.

يهدف هذا الدليل الشامل والمفصل إلى تقديم مرجع أكاديمي وتطبيقي متكامل حول اختبار KPSS باستخدام بيئة الحوسبة الإحصائية ولغة البرمجة R. سيتناول المقال الأسس الرياضية والنظرية للاختبار، وتفكيك مكونات السلاسل الزمنية، ومقارنة سلوك هذا الاختبار مع الاختبارات التقليدية في إطار ما يُعرف بالتحليل الاستدلالي المزدوج التأكيدي (Confirmatory Data Analysis). علاوة على ذلك، سنستعرض بالتفصيل كيفية كتابة الأوامر البرمجية خطوة بخطوة، واختيار الدوال المناسبة من حزم R المعتمدة مثل tseries وurca، مع تقديم أمثلة تطبيقية عميقة على بيانات افتراضية وحقيقية، وكيفية تفسير المخرجات وقيم الاختبار الحرجة، وحل المشكلات المنهجية المعقدة مثل الانكسارات الهيكلية وطول الإبطاء.

المفهوم النظري لاختبار كوياتكوفسكي-فيليبس-شميدت-شين (KPSS)

خلفية تاريخية ودوافع تطوير الاختبار

تم تقديم اختبار KPSS لأول مرة في عام 1992 بواسطة أربعة من أبرز علماء الاقتصاد القياسي والإحصاء: دينيس كوياتكوفسكي (Denis Kwiatkowski)، وبيتر فيليبس (Peter C. B. Phillips)، وبيتر شميدت (Peter Schmidt)، ويونغتشول شين (Yongcheol Shin)، في ورقتهم البحثية المرجعية المنشورة في مجلة الاقتصاد القياسي (Journal of Econometrics) تحت عنوان “Testing the null hypothesis of stationarity against the alternative of a unit root”. جاء هذا التطوير استجابةً لأزمة منهجية كانت تواجه التطبيقات القياسية في الثمانينيات وأوائل التسعينيات، حيث كانت الاختبارات السائدة تعتمد بالكامل على صياغة الفرضية الصفرية بوجود جذر الوحدة.

تكمن المشكلة الكبرى في اختبارات جذر الوحدة التقليدية في أنها تفشل غالباً في رفض الفرضية الصفرية إذا كانت السلسلة قريبة جداً من الاستقرار (مثلاً عندما يكون معامل الانحدار الذاتي يساوي 0.95 أو 0.98)، مما يؤدي بالباحث إلى استنتاج خاطئ بأن السلسلة غير مستقرة، وهو ما يعرف بخطأ النوع الثاني. لذلك، كان الدافع الأساسي من ابتكار اختبار KPSS هو عكس عبء الإثبات الإحصائي، بحيث تصبح الفرضية المفترضة ابتداءً هي أن السلسلة مستقرة وسكونية، ولا يتم رفض هذا الافتراض إلا إذا وفرت البيانات دليلاً قوياً وحاسماً ضد الاستقرارية. هذا التحول الفلسفي مكّن الباحثين من التحقق الإيجابي من السكونية بدلاً من الاعتماد فقط على الفشل في إثبات عدم السكونية.

بالإضافة إلى ذلك، أتاح اختبار KPSS الفرصة لتطبيق مبدأ التحقق المتقاطع (Cross-Validation) في فحص خصائص السلاسل الزمنية، حيث أصبح بالإمكان تشغيل اختبار KPSS جنباً إلى جنب مع اختبار ADF، ومقارنة النتائج للوصول إلى استنتاجات أكثر رصانة وموثوقية، خاصة في مجالات تحليل أسعار الصرف، ومعدلات الفائدة، والنمو الاقتصادي، والدورات الاقتصادية الكلية.

البنية الرياضية لنموذج KPSS وتفكيك السلاسل الزمنية

ينبني اختبار KPSS على نموذج تفكيك كلاسيكي ومحكم للبيانات الزمنية يُعرف بنموذج مكونات المجموع غير المرئي (Unobserved Components Model). يفترض الاختبار أن أي سلسلة زمنية مرصودة يمكن تمثيلها كحاصل جمع ثلاثة مكونات رئيسية: اتجاه عام حتمي، ومسار سير عشوائي (Random Walk)، وحد خطأ عشوائي مستقر. رياضياً، يمكن التعبير عن السلسلة الزمنية yt بالمعادلة التالية:

yt = δt + rt + εt

حيث يمثل t المتغير الزمني الحتمي، وδt يمثل الاتجاه العام الخطي (Linear Trend). أما المكون الثاني rt فهو يمثل السير العشوائي ويتم تعريفه بالعلاقة التكرارية:

rt = rt-1 + ut

حيث يُفترض أن ut عبارة عن متغيرات عشوائية مستقلة ومتماثلة التوزيع (i.i.d) بمتوسط حسابي يساوي صفراً وتباين مقداره σ2u. أما المكون الثالث والأخير εt فهو يمثل حد الخطأ السكوني أو التشويش المستقر الذي قد يتبع عمليات ارتباط ذاتي عامة مستقرة وتباين محدود.

القوة الرياضية لهذا النموذج تكمن في تركيزه الكامل على التباين الخاص بحد صدمات السير العشوائي، وهو σ2u. إذا كان هذا التباين مساوياً للصفر تماماً (σ2u = 0)، فإن المكون rt يتحول من كونه سيراً عشوائياً متراكماً إلى قيمة ثابتة تماماً عبر الزمن (rt = r0)، وفي هذه الحالة تصبح السلسلة الزمنية الأصلية yt مكونة فقط من ثابت، واتجاه حتمي، وحد خطأ مستقر، مما يعني بالضرورة أن السلسلة مستقرة حول اتجاهها أو حول متوسطها.

الفرضية الصفرية والفرضية البديلة: التباين المقلوب

تتفرع الفرضيات الإحصائية في اختبار KPSS بشكل مباشر من البنية الرياضية لنموذج المكونات المذكور أعلاه. على عكس الاختبارات التقليدية، تُصاغ الفرضيات في KPSS بالاعتماد على قيمة تباين السير العشوائي σ2u على النحو التالي:

  • الفرضية الصفرية (H0): σ2u = 0 (السلسلة الزمنية مستقرة وسكونية، إما حول المتوسط أو حول اتجاه عام حتمي).
  • الفرضية البديلة (H1): σ2u > 0 (السلسلة الزمنية تحتوي على سير عشوائي، وبالتالي فهي غير مستقرة وتمتلك جذر وحدة).

يُطلق على هذه الصياغة مصطلح “التباين المقلوب” لأن رفض الفرضية الصفرية يحدث فقط عندما تكون قيمة إحصائية الاختبار المحسوبة أكبر من القيمة الحرجة المجدولة عند مستوى معنوية معين (مثل 1%، 5%، أو 10%). وفي هذه الحالة، عندما تكون إحصائية الاختبار كبيرة جداً، فهذا يعني أن التباين σ2u يختلف جوهرياً عن الصفر، مما يقودنا إلى رفض فرضية الاستقرار وقبول فرضية وجود جذر الوحدة.

إن فهم هذه الخاصية المعكوسة أمر حاسم للغاية للباحثين؛ إذ إن الحصول على قيمة احتمالية صغيرة (p-value < 0.05) في اختبار KPSS يعني أن السلسلة غير مستقرة، في حين أن الحصول على قيمة احتمالية صغيرة في اختبار ADF يعني أن السلسلة مستقرة. عدم الانتباه لهذا التباين في الفرضيات الصفرية يُعد من أكثر الأخطاء الشائعة في التطبيقات العملية للاقتصاد القياسي.

اختبار الاستقرارية حول المتوسط مقابل الاستقرارية حول الاتجاه العام

يتيح اختبار KPSS للباحث خيارين أساسيين لاختبار السكونية، اعتماداً على الخصائص الهيكلية للبيانات والنموذج النظري قيد الدراسة:

1. الاستقرارية حول المستوى أو المتوسط (Level Stationarity): في هذا النمط، يُفترض أن السلسلة لا تحتوي على أي اتجاه عام خطي متزايد أو متناقص عبر الزمن (أي أن المعامل δ = 0). ينحصر النموذج في تقدير السلسلة حول متوسط ثابت، وتكون الفرضية الصفرية هي أن السلسلة سكونية وتتذبذب حول هذا المتوسط الثابت. يُستخدم هذا النمط بشكل مكثف عند دراسة متغيرات مثل معدلات التضخم، وعوائد الأسهم، وأسعار الفائدة الحقيقية، ونسب البطالة في الاقتصادات المستقرة.

2. الاستقرارية حول الاتجاه الحتمي (Trend Stationarity): في هذا النمط، يُسمح للمعامل δ بأن يأخذ قيمة غير صفرية، مما يعني أن السلسلة تتضمن اتجاهاً عاماً خطياً صاعداً أو هابطاً عبر الزمن. تصبح الفرضية الصفرية هنا هي أن السلسلة مستقرة بمجرد إزالة هذا الاتجاه العام الخطي الحتمي (Trend-Stationary Process). يُعد هذا النموذج مناسباً جداً للمتغيرات الاقتصادية الكلية التي تنمو بشكل طبيعي عبر الزمن مثل الناتج المحلي الإجمالي الحقيقي (Real GDP)، والمجاميع النقدية، ومؤشرات الإنتاج الصناعي.

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

إحصائية الاختبار الرياضية وحساب التباين طويل الأجل

تعتمد إحصائية اختبار KPSS على نظرية المجاميع الجزئية للبواقي الناتجة عن انحدار المربعات الصغرى العادية (OLS). لحساب إحصائية الاختبار، يتم أولاً تقدير انحدار السلسلة yt على ثابت (في حالة الاستقرارية حول المتوسط) أو على ثابت ومتغير زمني t (في حالة الاستقرارية حول الاتجاه). بعد ذلك، يتم استخراج البواقي المقدرة et وحساب متتالية المجاميع التراكمية للبواقي St كما يلي:

St = ∑i=1t ei     (حيث t = 1, 2, …, T)

تُعرّف إحصائية KPSS، والتي يُرمز لها عادة بـ LM (Lagrange Multiplier)، بالمعادلة التالية:

LM = ∑t=1T St2 / (T2 · s2(&ell;))

حيث يمثل T حجم العينة الإجمالي، بينما يمثل s2(&ell;) مقدر التباين طويل الأجل (Long-Run Variance) المتسق تحت الارتباط الذاتي واختلاف التباين (HAC). يُعد حساب هذا المقدر من أدق الخطوات الحسابية في الاختبار، ويتم حسابه عبر المعادلة:

s2(&ell;) = γ0 + 2 ∑j=1&ell; w(j, &ell;) γj

حيث γj هو التغاير الذاتي من الدرجة j للبواقي et، بينما w(j, &ell;) تمثل دالة نواة التوزين (Kernel Weighting Function)، مثل نواة بارتليت (Bartlett Kernel) المعتمدة على دالة خطية تتناقص مع زيادة فترة الإبطاء &ell;. تلعب معلمة عرض النطاق أو نافذة الإبطاء (&ell;) دوراً جوهرياً في الموازنة بين دقة التقدير والتحيز، وسنناقش كيفية ضبطها برمجياً في الأقسام اللاحقة.

مقارنة اختبار KPSS مع اختبارات جذر الوحدة التقليدية (ADF و PP)

اختبار ديكي-فولر المعمم (ADF) مقابل KPSS: صراع الفرضيات

يمثل التباين بين اختبار ADF واختبار KPSS أحد أعمق الفروق المنهجية في القياس الاقتصادي الحديث. يقوم اختبار ADF على نمذجة السلسلة الزمنية كعملية انحدار ذاتي مع تضمين فروق متباطئة للتعامل مع الارتباط الذاتي في الأخطاء. تتم صياغة الفرضية الصفرية في اختبار ADF كالتالي: “السلسلة تحتوي على جذر وحدة وهي غير مستقرة I(1)”، بينما الفرضية البديلة هي “السلسلة مستقرة I(0)”.

هذا الاختلاف في نقطة الانطلاق يترتب عليه اختلاف جذري في كيفية التعامل مع الشك الإحصائي. في اختبار ADF، إذا كانت البيانات لا تحتوي على معلومات كافية أو إذا كانت السلسلة قصيرة، يميل الاختبار بطبيعته إلى عدم رفض الفرضية الصفرية، مما يقود إلى قبول غير موثوق لوجود جذر الوحدة. في المقابل، يضع اختبار KPSS الاستقرار كافتراض أساسي، ولا يرفضه إلا إذا أظهرت البيانات دليلاً ساحقاً ضد الاستقرار.

وبالتالي، فإن كلا الاختبارين ينظر إلى البيانات من زاويتين متناقضتين تماماً؛ فاختبار ADF يبحث عن أدلة تثبت السكونية، بينما يبحث اختبار KPSS عن أدلة تدحضها وتثبت وجود عدم الاستقرار.

اختبار فيليبس-بيرون (PP) وعلاقته باختبار KPSS

يتقاطع اختبار فيليبس-بيرون (Phillips-Perron) مع اختبار KPSS في اعتمادهما المشترك على التقدير اللامعلمي (Non-parametric Estimation) لتصحيح الارتباط الذاتي واختلاف التباين في البواقي، وذلك باستخدام مصفوفات التباين طويل الأجل ودوال النواة مثل Newey-West وBartlett.

ومع ذلك، يظل اختبار فيليبس-بيرون متفقاً مع اختبار ADF في صياغة الفرضية الصفرية، حيث يفترض وجود جذر وحدة كفرضية عدم. يكمن وجه الشبه الرياضي بين PP وKPSS في طريقة معالجة التشويش في الأخطاء طويلة الأجل دون الحاجة إلى تضمين إبطاءات صريحة متعددة للفروق كما هو الحال في ADF، لكنهما يختلفان تماماً في آلية الاستدلال وتوزيع إحصائية الاختبار المقارنة.

إن استخدام اختبار PP جنباً إلى جنب مع KPSS يوفر طبقة حماية إضافية ضد التشوهات التي قد تنجم عن الأخطاء التوزيعية غير الطبيعية أو وجود طفرات تقلب حادة في السلاسل المالية.

استراتيجية الاختبار المزدوج (Confirmatory Data Analysis)

نظراً لأن أياً من الاختبارات الفردية لا يخلو من القيود الإحصائية، فإن أفضل الممارسات المنهجية الموصى بها في الأدبيات الاقتصادية القياسية الحديثة هي تطبيق استراتيجية “التحليل الاستدلالي المزدوج التأكيدي” (Joint / Confirmatory Testing Strategy). تقوم هذه الاستراتيجية على تطبيق اختبار ADF (أو PP) واختبار KPSS بشكل متزامن على نفس السلسلة الزمنية وبنفس الشروط الهيكلية (حول المتوسط أو حول الاتجاه).

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

تُعد هذه المنهجية شرطاً أساسياً قبل المضي قدماً في بناء نماذج الانحدار الذاتي للإبطاء الموزع المعمم (ARDL) أو اختبارات التكامل المشترك لجوهانسن (Johansen Cointegration)، حيث تشترط هذه النماذج معرفة دقيقة برتبة تكامل المتغيرات سواء كانت I(0) أو I(1).

سيناريوهات القرار الأربعة الناتجة عن الجمع بين ADF و KPSS وتفسيراتها الاقتصادية

عند تطبيق استراتيجية الاختبار المزدوج، يواجه الباحث واحداً من أربعة سيناريوهات احتمالية محددة، ويمكن تفصيل كل سيناريو وتفسيره على النحو الآتي:

  • السيناريو الأول: رفض فرضية ADF وعدم رفض فرضية KPSS.
    الاستنتاج: السلسلة مستقرة وسكونية بشكل قاطع I(0).
    التفسير: كلا الاختبارين اتفقا تماماً؛ ADF رفض وجود جذر الوحدة، وKPSS أكد استقرار السلسلة وعدم وجود سير عشوائي. يمكن استخدام السلسلة مباشرة في النماذج القياسية بمستوياتها الأصلية دون الحاجة إلى أخذ الفروق.
  • السيناريو الثاني: عدم رفض فرضية ADF ورفض فرضية KPSS.
    الاستنتاج: السلسلة غير مستقرة وتحتوي على جذر وحدة بشكل قاطع I(1).
    التفسير: تطابق كامل بين الاختبارين على عدم السكونية؛ ADF أكد وجود جذر الوحدة، وKPSS رفض الاستقرارية. يتوجب على الباحث في هذه الحالة أخذ الفروق الأولى (First Differences) للسلسلة قبل النمذجة لتجنب الانحدار الزائف.
  • السيناريو الثالث: عدم رفض فرضية ADF وعدم رفض فرضية KPSS.
    الاستنتاج: البيانات غير حاسمة (Inconclusive Data).
    التفسير: يشير هذا التناقض إلى أن السلسلة لا تحتوي على معلومات إحصائية كافية تمكن أياً من الاختبارين من الوصول إلى قرار حاسم. غالباً ما يظهر هذا السيناريو في العينات الصغيرة أو السلاسل ذات التقلب العالي جداً والارتباط الذاتي المعقد القريب من دائرة الوحدة. يُنصح هنا بزيادة حجم العينة، أو استخدام بيانات ذات تردد أعلى، أو اللجوء إلى اختبارات تعتمد على الانكسارات الهيكلية.
  • السيناريو الرابع: رفض فرضية ADF ورفض فرضية KPSS معاً.
    الاستنتاج: تشوه في خصائص السلسلة (غالباً بسبب انكسار هيكلي أو لاخطية أو تقلبات عنقودية).
    التفسير: هذا التعارض الصريح يعني أن كلاً من الاختبارين يرفض فرضيته الصفرية. يحدث هذا عادة عندما تحتوي السلسلة على انكسار هيكلي حاد في المتوسط أو الاتجاه، أو تغيرات في التباين الزمني (Heteroscedasticity)، مما يؤدي إلى خداع ADF ليعطي استقراراً خادعاً وخداع KPSS ليرفض الاستقرارية. يتطلب هذا الوضع فحص الانكسارات الهيكلية باستخدام اختبارات متخصصة مثل Zivot-Andrews أو Lee-Strazicich.

مشكلة ضعف القوة الإحصائية وحجم العينة في سلاسل الاقتصاد القياسي

تُعد دراسة حجم العينة وطول الفترة الزمنية المغطاة عاملاً حاسماً في أداء اختبار KPSS. في السلاسل الزمنية الاقتصادية قصيرة الأجل (مثلاً البيانات السنوية لأقل من 30 سنة)، تعاني جميع اختبارات الاستقرارية من انخفاض القوة الإحصائية (Power of the Test). في حالة KPSS، قد يترتب على صغر حجم العينة ميل الاختبار إلى عدم رفض الفرضية الصفرية للاستقرارية حتى لو كانت السلسلة تحتوي على سير عشوائي ضعيف، وذلك لعدم توفر مشاهدات كافية لتقدير التباين طويل الأجل بدقة.

علاوة على ذلك، أظهرت الدراسات القياسية التجريبية (Monte Carlo Simulations) أن إحصائية KPSS حساسة للغاية لاختيار طول نافذة الإبطاء المعتمدة في مصفوفة التغاير طويل الأجل. فإذا تم اختيار نافذة إبطاء مفرطة في الطول بالنسبة لحجم العينة، تنخفض قوة الاختبار بشكل دراماتيكي، مما يزيد من احتمالية الوقوع في أخطاء التحليل. لذلك، يوصى دائماً باستخدام عينات تتجاوز 50 إلى 100 مشاهدة على الأقل للحصول على قرارات إحصائية تتسم بالموثوقية العالية.

البيئة البرمجية في لغة R وحزم التحليل القياسي للسلاسل الزمنية

إعداد بيئة العمل البرمجية وتثبيت المكتبات الإحصائية

تُعد لغة البرمجة R البيئة الأكثر شمولاً وتطوراً في مجال الاقتصاد القياسي وتحليل السلاسل الزمنية، نظراً لوفرة الحزم المتخصصة ومجتمع التطوير العلمي الواسع التابع لشبكة CRAN. لتنفيذ اختبار KPSS وإجراء التحليلات التكميلية بكفاءة، يحتاج المحلل إلى تثبيت واستدعاء مجموعة من الحزم الأساسية.

تشمل الحزم المحورية التي سنعتمد عليها في هذا الدليل: حزمة tseries التي توفر الدالة المباشرة والسريعة kpss.test، وحزمة urca (Unit Root and Cointegration Analysis) التي طورها برنارد بفاف وتُعد المعيار الذهبي للتحليلات القياسية المتقدمة وتوفر الدالة الاحترافية ur.kpss. بالإضافة إلى ذلك، تُستخدم حزم مساعدة مثل forecast لتجهيز النماذج، وحزمتا zoo وxts لإدارة السلاسل الزمنية والتواريخ المعقدة بكفاءة عالية، وحزمة ggplot2 للرسم البياني عالي الدقة.

يمكن تثبيت هذه الحزم في بيئة R أو RStudio باستخدام الأوامر القياسية التالية:

install.packages(c("tseries", "urca", "forecast", "zoo", "xts", "ggplot2"))

ثم يتم تحميلها إلى جلسة العمل البرمجية عبر استخدام دالة library() لكل حزمة على حدة لضمان توفر كافة الدوال والبيئات الإحصائية التابعة لها.

فحص وتجهيز البيانات الزمنية وتنسيق الكائنات البرمجية

قبل الشروع في تطبيق أي اختبار إحصائي، يجب التأكد من تحويل البيانات المدخلة إلى كائنات زمنية مهيكلة ومعترف بها برمجياً داخل بيئة R، مثل كائنات ts الأساسية أو كائنات zoo وxts المتقدمة. يؤدي إدخال البيانات كمتجهات عددية مجردة (Numeric Vectors) أو أطر بيانات تقليدية (Data Frames) دون ضبط التردد الزمني وبداية السلسلة إلى تعطيل بعض الميزات الحسابية المتقدمة التي تعتمد على البنية التكرارية للبيانات.

يتم إنشاء كائن السلسلة الزمنية باستخدام الدالة القياسية ts() مع تحديد معلمات البداية والتردد. على سبيل المثال، إذا كانت البيانات ربع سنوية تبدأ من الربع الأول لعام 2000، يتم استخدام المعاملات start = c(2000, 1) وfrequency = 4. أما إذا كانت البيانات شهرية فيتم ضبط التردد على frequency = 12.

كما يتطلب التجهيز المنهجي فحص القيم المفقودة (Missing Values) والتعامل معها بحذر؛ إذ إن اختبارات جذر الوحدة لا تدعم وجود فجوات مكانية أو قيم مفقودة NA في السلسلة، ويتعين إما معالجتها بالاستكمال الخطي (Linear Interpolation) أو استبعاد الفترات المشوهة مع مراعاة الحفاظ على تسلسل وانتظام الفترات الزمنية.

استخدام دالة kpss.test من حزمة tseries: البنية والمعاملات

تُعد دالة kpss.test المضمنة في حزمة tseries واحدة من أسهل الدوال استخداماً وأكثرها انتشاراً لتطبيق اختبار KPSS السريع في لغة R. تأخذ الدالة الصيغة العامة التالية:

kpss.test(x, null = c("Level", "Trend"), lshort = TRUE)

تحتوي هذه الدالة على ثلاثة معاملات أساسية ومحورية:

  • المعامل x: يمثل المتجه العددي أو كائن السلسلة الزمنية المراد اختباره.
  • المعامل null: يحدد الفرضية الصفرية للاختبار؛ حيث يأخذ القيمة "Level" لاختبار السكونية حول المتوسط الحسابي، أو القيمة "Trend" لاختبار السكونية حول الاتجاه العام الحتمي. القيمة الافتراضية هي “Level”.
  • المعامل lshort: قيمة منطقية (Boolean) تتحكم في طول نافذة الإبطاء المستخدمة في حساب التباين طويل الأجل عبر دالة نواة بارتليت. إذا تم ضبطه على TRUE (وهو الافتراضي)، يتم استخدام عدد إبطاءات قصير يتناسب مع الجذر الرابع لحجم العينة، بينما يؤدي ضبطه على FALSE إلى استخدام عدد إبطاءات أطول يتناسب مع الجذر التكعيبي لحجم العينة.

تُرجع هذه الدالة كائناً إحصائياً يحتوي على قيمة إحصائية KPSS المحسوبة، ومعلمة الإبطاء المختارة (Truncation Lag Parameter)، والقيمة الاحتمالية المقدرة (p-value)، والجدول الكامل للقيم الحرجة عند مستويات دلالة 10%، 5%، 2.5%، و1%.

استخدام دالة ur.kpss من حزمة urca: التحليل المتقدم والمصفوفات الحرجة

للباحثين المتخصصين الراغبين في إجراء تحليلات أكثر عمقاً ودقة وتحكم كامل في معلمات الاختبار، تُعد دالة ur.kpss من حزمة urca الخيار الأكثر احترافية وتوافقاً مع المعايير المنشورة في أبحاث الاقتصاد القياسي المتقدمة. البنية الهيكلية للدالة هي:

ur.kpss(y, type = c("mu", "tau"), lags = c("short", "long", "nil"), use.lag = NULL)

تتميز هذه الدالة بالمرونة العالية من خلال معاملاتها المتقدمة:

  • المعامل type: يحدد نمط الاختبار؛ فالخيار "mu" يختبر الاستقرارية حول المتوسط (يقابل Level)، بينما الخيار "tau" يختبر الاستقرارية حول الاتجاه العام (يقابل Trend).
  • المعامل lags: يحدد آلية اختيار الإبطاء اللامعلمي؛ حيث يتيح الخيارات "short" (إبطاءات قصيرة)، و"long" (إبطاءات طويلة لتقليل الارتباط الذاتي العالي)، و"nil" (دون إبطاءات تصحيحية).
  • المعامل use.lag: يتيح للباحث تحديد رقم إبطاء صحيح ومخصص يدوياً (مثل use.lag = 4)، مما يمنح تحكماً مطلقاً في معايرة التباين طويل الأجل واختبار حساسية النتائج عبر أطوال إبطاء متعددة.

عند تطبيق دالة summary() على مخرجات ur.kpss، يحصل المحلل على مصفوفة شاملة تتضمن إحصائية الاختبار وقيم القطع الحرجة المجدولة بدقة بالغة وفق الجداول الإحصائية الأصلية لـ Kwiatkowski et al. (1992).

ضبط معلمات النطاق الترددي واختيار النواة (Kernel Selection & Bandwidth)

تعتمد قوة اختبار KPSS ومعدل خطأ الحجم (Size Distortion) بشكل حاسم على دالة النواة (Kernel Function) ومعلمة النطاق الترددي (Bandwidth) أو طول نافذة الإبطاء المقتطعة (&ell;). تُستخدم دالة النواة لترجيح أوزان مصفوفات التغاير الذاتي بحيث تتناقص الأوزان تدريجياً مع زيادة المسافة الزمنية بين المشاهدات.

تستخدم معظم التطبيقات في R نواة بارتليت (Bartlett Kernel)، نظراً لضمانها الرياضي بالحصول على مقدر تباين شبه موجب دائماً (Positive Semi-Definite Variance). وتعتمد القواعد التجريبية الشائعة لاختيار طول الإبطاء التلقائي على معادلات أندروز (Andrews, 1991) أو صيغة نيوي-ويست (Newey & West, 1994). في دالة ur.kpss، يتم حساب الإبطاء القصير عبر المعادلة:

&ell; = floor(4 * (T / 100)^(1/4))

بينما يُحسب الإبطاء الطويل بالمعادلة:

&ell; = floor(12 * (T / 100)^(1/4))

يجب على الباحث توخي الحذر؛ فاختيار إبطاء صغير جداً في ظل وجود ارتباط ذاتي قوي وسالب في الأخطاء يؤدي إلى تضخيم إحصائية الاختبار ورفض الاستقرارية زيفاً، بينما يؤدي اختيار إبطاء كبير جداً إلى تقليص قوة الاختبار الإحصائية.

التطبيق العملي التفصيلي لاختبار KPSS على بيانات حقيقية وافتراضية

مثال 1: توليد وفحص سلسلة زمنية مستقرة تماماً (AR(1) Stable Process)

لتوضيح كيفية عمل الاختبار برمجياً، سنقوم أولاً بمحاكاة سلسلة زمنية سكونية تتبع نموذج انحدار ذاتي من الدرجة الأولى AR(1) بمعامل استقرار مقداره φ = 0.5 وحجم عينة T = 300 مشاهدة مع حد خطأ موزع طبيعياً. يتم تنفيذ المحاكاة وتطبيق الاختبار عبر كود R التالي الموضح منهجياً:

نقوم بضبط البذرة العشوائية لضمان تكرارية النتائج عبر set.seed(123)، ثم نولد السلسلة باستخدام دالة arima.sim(model = list(ar = 0.5), n = 300). بعد ذلك، نطبق اختبار KPSS حول المتوسط باستخدام الأمر:

kpss_stable <- kpss.test(sim_stable, null = "Level")

أو باستخدام حزمة urca عبر:

ur_stable <- ur.kpss(sim_stable, type = "mu", lags = "short")

عند طباعة النتائج، نجد أن إحصائية الاختبار المحسوبة تبلغ حوالي 0.082، وهي قيمة صغيرة جداً وتقل بكثير عن القيمة الحرجة عند مستوى دلالة 5% (والتي تبلغ 0.463). كما تظهر القيمة الاحتمالية الناتجة أكبر من 0.10. وبناءً على هذه المخرجات، نفشل في رفض الفرضية الصفرية، ونستنتج بدرجة ثقة عالية أن السلسلة مستقرة وسكونية، وهو ما يتطابق تماماً مع الطبيعة الرياضية للسلسلة المولدة.

مثال 2: توليد وفحص سلسلة غير مستقرة تتبع السير العشوائي (Random Walk)

في هذا المثال، سنقوم بمحاكاة سلسلة زمنية غير مستقرة تتبع نموذج السير العشوائي النقي (Pure Random Walk)، حيث تتراكم الصدمات العشوائية عبر الزمن دون أن تتلاشى. يتم توليد هذه السلسلة في R عبر أخذ المجموع التراكمي لمتغيرات عشوائية موزعة طبيعياً باستخدام الدالة cumsum():

set.seed(456)

sim_rw <- cumsum(rnorm(300, mean = 0, sd = 1))

عند تطبيق اختبار KPSS على هذه السلسلة باستخدام:

kpss_rw <- kpss.test(sim_rw, null = "Level")

تُظهر مخرجات R إحصائية اختبار مرتفعة جداً تتجاوز عادة حاجز 2.50، مع قيمة احتمالية p-value أصغر من 0.01 (حيث تضع الدالة إشعاراً تحذيرياً يفيد بأن القيمة الاحتمالية الفعلية أصغر من أصغر قيمة مجدولة مطبوعة).

بمقارنة الإحصائية المحسوبة (2.50) بالقيمة الحرجة عند مستوى معنوية 1% (التي تبلغ 0.739)، نجد أن الإحصائية أكبر بكثير من القيمة الحرجة. يقودنا هذا الدليل القاطع إلى رفض الفرضية الصفرية للاستقرارية بقوة وقبول الفرضية البديلة بأن السلسلة غير مستقرة وتتضمن جذراً أحادياً، مما يثبت كفاءة الاختبار في اكتشاف مسارات السير العشوائي.

مثال 3: تحليل سلسلة زمنية اقتصادية حقيقية (بيانات الناتج أو الأسهم)

لإجراء تطبيق واقعي، سنستخدم مجموعة بيانات حقيقية مدمجة في بيئة R، مثل سلسلة مؤشر أسعار الأسهم الأوروبية الكبرى EuStockMarkets (مثل مؤشر DAX الألماني)، أو بيانات الإنتاج الصناعي. لتحليل مؤشر DAX اليومي، نقوم باستخراج المتغير وتحويله إلى صيغة لوغاريتمية لدراسة المستويات والعوائد:

log_dax <- log(EuStockMarkets[, "DAX"])

نظراً لأن السلاسل الاقتصادية اللوغاريتمية تظهر عادة نمواً واتجاهاً تصاعدياً بمرور الزمن، فإن النموذج المناسب لاختبار المستوى هو اختبار الاستقرارية حول الاتجاه (Trend Stationarity):

kpss_dax_trend <- ur.kpss(log_dax, type = "tau", lags = "long")

summary(kpss_dax_trend)

تُظهر نتائج التحليل القياسي أن إحصائية الاختبار المحسوبة تبلغ قيمة تتجاوز القيمة الحرجة عند مستوى معنوية 1% (التي تبلغ 0.216 لنموذج الاتجاه tau)، مما يشير بوضوح إلى أن السلسلة اللوغاريتمية للمؤشر غير مستقرة حتى بعد أخذ الاتجاه الخطي في الاعتبار، وأنها تحتوي على جذر وحدة تصادفي يتطلب أخذ الفروق الأولى للوصول إلى عوائد الأسهم المستقرة.

قراءة وتحليل المخرجات الإحصائية في R وتفسير القيم الاحتمالية والقيم الحرجة

يتطلب التحليل الدقيق لمخرجات دوال R فهماً لكيفية هيكلة النتائج المطبوعة. عند تشغيل الدالة summary() لكائن من فئة ur.kpss، يظهر التقرير تفاصيل مهمة تتضمن:

  • قيمة إحصائية الاختبار (Value of test-statistic): هذا هو الرقم الأساسي المحسوب من بيانات العينة (LM Statistic).
  • قيم القطع الحرجة المجدولة (Critical values): مصفوفة تتضمن أربع قيم حرجة رئيسية تقابل مستويات المعنوية (10%، 5%، 2.5%، 1%).

قاعدة اتخاذ القرار الإحصائي صارمة ومباشرة:

إذا كانت إحصائية الاختبار المحسوبة > القيمة الحرجة عند مستوى المعنوية المختار (مثلاً 5%)، يتم رفض الفرضية الصفرية، مما يعني أن السلسلة غير مستقرة.

أما إذا كانت إحصائية الاختبار المحسوبة ≤ القيمة الحرجة، فإننا نفشل في رفض الفرضية الصفرية، مما يعني أن السلسلة مستقرة وسكونية.

يجب الانتباه إلى أن دالة kpss.test في حزمة tseries تحدد نطاق القيم الاحتمالية المقربة بين 0.01 و0.10؛ فإذا طُبعت قيمة p-value = 0.01 مع تحذير، فهذا يعني أن القيمة الاحتمالية الحقيقية أقل من ذلك بكثير وأن رفض الاستقرارية مؤكد للغاية.

معالجة عدم الاستقرارية: الفروق الأولى والتحويلات اللوغاريتمية

عندما يؤكد اختبار KPSS عدم استقرار السلسلة الزمنية واحتوائها على جذر الوحدة، يصبح من الضروري تحويل السلسلة إلى حالة الاستقرار قبل إدخالها في نماذج الانحدار والتنبؤ. الأداة القياسية الأكثر فعالية لمعالجة عدم الاستقرارية الناتجة عن الاتجاه التصادفي هي أخذ الفروق الأولى (First-Order Differencing).

يتم تنفيذ ذلك في R بسهولة باستخدام دالة diff():

d_log_dax <- diff(log_dax)

يمثل هذا المتغير الجديد معدل العائد اللوغاريتمي المستمر. عند إعادة تطبيق اختبار KPSS على سلسلة الفروق الأولى:

kpss_diff <- ur.kpss(d_log_dax, type = "mu", lags = "short")

summary(kpss_diff)

نجد أن إحصائية الاختبار تنخفض دراماتيكياً لتصبح أقل بكثير من القيمة الحرجة عند مستوى 5%، مما يثبت أن سلسلة الفروق الأولى أصبحت مستقرة تماماً I(0)، وبذلك تكون السلسلة الأصلية متكاملة من الدرجة الأولى I(1) وجاهزة للنمذجة ضمن أطر السلاسل الزمنية القياسية.

التحديات المنهجية، القيود، وأفضل الممارسات في النمذجة القياسية

تأثير الانكسارات الهيكلية (Structural Breaks) على قرارات اختبار KPSS

تُعد الانكسارات الهيكلية في السلاسل الزمنية — الناتجة عن الأزمات المالية، أو التحولات السياسية الكبرى، أو التغيرات الجذرية في السياسات النقدية — أحد أخطر العوامل المربكة لاختبار KPSS. عندما تتعرض سلسلة زمنية مستقرة لانكسار هيكلي حاد يؤدي إلى إزاحة دائمة في متوسط السلسلة، فإن اختبار KPSS التقليدي يفسر هذا التغير المفاجئ على أنه دليل على وجود سير عشوائي وتراكم للصدمات.

نتيجة لذلك، يميل اختبار KPSS إلى رفض الفرضية الصفرية للاستقرارية بشكل خاطئ ومضلل، ويصنف السلسلة كسلسلة ذات جذر وحدة، بينما هي في الواقع مستقرة هيكلياً حول متوسطين مختلفين (Segmented Stationary Process).

للتغلب على هذا القصور المنهجي، طوّر الاقتصاديون اختبارات متقدمة ممتدة لاختبار KPSS تسمح بوجود انكسارات هيكلية داخلية غير محددة مسبقاً في المتوسط أو الاتجاه، كما يُوصى الباحثون بإجراء اختبارات كسر البنية الهيكلية مثل اختبار Bai-Perron أو اختبار Perron قبل الجزم النهائي بنتائج السكونية.

التغير الموسمي وعدم الاستقرار الدوري (Seasonal Unit Roots)

تواجه البيانات الاقتصادية المقاسة بترددات شهرية أو ربع سنوية (مثل مبيعات التجزئة، أو إيرادات السياحة، أو الإنتاج الزراعي) تحدياً إضافياً يتمثل في الأنماط الموسمية المتكررة والتغيرات الدورية. لا يستطيع اختبار KPSS القياسي التمييز التلقائي بين عدم الاستقرار الناجم عن جذر وحدة عادي عند التردد الصفري، وبين عدم الاستقرار الموسمي الناتج عن جذور وحدة موسمية (Seasonal Unit Roots).

إذا احتوت السلسلة على تقلبات موسمية متغيرة السعة والتباين عبر الزمن، فإن إحصائية KPSS سترتفع بشكل مصطنع، مما يقود إلى رفض زائف للاستقرارية. في مثل هذه الحالات، يجب على المحلل أولاً إجراء التعديل الموسمي (Seasonal Adjustment) للبيانات باستخدام خوارزميات متقدمة مثل X-13ARIMA-SEATS أو التفكيك الزمني STL، أو تطبيق اختبارات الجذور الموسمية المتخصصة مثل اختبار HEGY (Hylleberg, Engle, Granger, and Yoo) في R عبر حزمة uroot.

مسألة طول الإبطاء وتأثيرها على خطأ النوع الأول والنوع الثاني

يرتبط أداء اختبار KPSS ارتباطاً عضوياً بكيفية اختيار طول فترة الإبطاء المقتطعة (&ell;) المستخدمة في تقدير التباين طويل الأجل. تنشأ هنا معضلة إحصائية كلاسيكية تتعلق بالمفاضلة بين التحيز والتباين (Bias-Variance Trade-off):

  • اختيار إبطاء قصير جداً (Under-lagging): يؤدي إلى فشل الاختبار في تصفية الارتباط الذاتي قصير الأجل الموجود في البواقي، مما يؤدي إلى تضخيم غير مبرر لإحصائية LM، وارتفاع معدل خطأ النوع الأول (رفض الفرضية الصفرية الصحيحة للاستقرارية عندما تكون السلسلة مستقرة بالفعل ولكنها مترابطة ذاتياً).
  • اختيار إبطاء طويل جداً (Over-lagging): يؤدي إلى استنزاف درجات الحرية وتضخيم تباين المقدر اللامعلمي، مما يضعف القوة الإحصائية للاختبار ويزيد من معدل خطأ النوع الثاني (الفشل في رفض فرضية الاستقرارية عندما تكون السلسلة غير مستقرة في الواقع).

تتمثل الممارسة الفضلى في تقييم حساسية نتائج الاختبار عبر عدة قيم مختلفة للإبطاء (Robutness Check) باستخدام المعامل use.lag في دالة ur.kpss ومقارنة النتائج للتأكد من عدم تغير القرار الإحصائي بتغير طول الإبطاء.

التعامل مع السلاسل غير الخطية والسلاسل المالية عالية التردد

تتميز البيانات المالية عالية التردد (مثل أسعار الأسهم اللحظية، والعملات الرقمية، وهوامش الائتمان) بخصائص توزيعية معقدة تتجاوز الافتراضات الخطية الكلاسيكية، مثل الذيول السميكة (Fat Tails)، والتقلبات العنقودية غير المتجانسة (Volatility Clustering)، والتذبذبات غير الخطية المعقدة (Nonlinear Dynamics).

على الرغم من أن مقدرات التباين طويل الأجل المعتمدة في اختبار KPSS مصممة للتعامل مع عدم تجانس التباين المشروط (Heteroscedasticity) بشكل عام، إلا أن طفرات التقلب الشديدة (Extreme Volatility Spikes) قد تؤدي إلى تشويه حجم الاختبار الإحصائي.

في مثل هذه البيئات الديناميكية المعقدة، يُفضل دعم اختبار KPSS بنماذج تقلب متقدمة من عائلة GARCH، أو استخدام اختبارات جذر الوحدة اللامعلمية وغير الخطية (Nonlinear Unit Root Tests) مثل اختبار Kapetanios-Shin-Snell (KSS)، لضمان التقاط الخصائص الديناميكية الحقيقية للسلسلة المالية بدقة متناهية.

المبادئ التوجيهية للباحثين والمحللين الماليين لضمان موثوقية النتائج

لضمان تطبيق اختبار KPSS بأعلى معايير الدقة العلمية والموثوقية القياسية في الأبحاث والتقارير المالية، يُوصى باتباع الخطوات المنهجية الإرشادية التالية:

  • الفحص البصري الأولي: رسم السلسلة الزمنية بيانياً وتفحص الرسم بعناية لتحديد ما إذا كانت تتضمن اتجاهاً عاماً حتمياً، أو متوسطاً ثابتاً، أو انكسارات هيكلية واضحة، لتحديد النموذج الرياضي الملائم للاختبار (Level مقابل Trend).
  • التطبيق المتزامن للاختبارات المزدوجة: تطبيق اختباري ADF وKPSS معاً ومقارنة مصفوفة القرارات لتجنب فخ القوة المنخفضة للاختبار الفردي.
  • فحص حساسية الإبطاء: اختبار استقرار النتائج عبر أطوال إبطاء متعددة (قصيرة، وطويلة، ومخصصة) لضمان عدم تأثر القرار الإحصائي بخوارزمية النطاق الترددي المختارة.
  • معالجة الانكسارات والأنماط الموسمية: إزالة الأنماط الموسمية وفحص فترات التغير الهيكلي قبل الجزم بنتيجة الاختبار.
  • إعادة الاختبار بعد التحويل: في حال ثبوت عدم الاستقرارية وتطبيق الفروق الأولى، يجب إعادة تطبيق الاختبار على السلسلة المحولة للتأكد رسمياً من وصولها إلى رتبة التكامل الصفرية I(0).

الخلاصة والاستنتاجات النهائية

يمثل اختبار كوياتكوفسكي-فيليبس-شميدت-شين (KPSS) نقلة نوعية ومنهجية بالغة الأهمية في مجال الاقتصاد القياسي وتحليل السلاسل الزمنية، حيث نجح في معالجة القصور الإحصائي المتأصل في اختبارات جذر الوحدة التقليدية عبر وضع الاستقرارية والسكونية كفرضية صفرية أساسية. هذا التأسيس الرياضي المتقن مكّن الباحثين من بناء استراتيجيات تحليلية مزدوجة تتسم بالصلابة والموثوقية العلمية العالية عند فحص خصائص البيانات الاقتصادية والمالية.

وقد أظهرنا من خلال هذا الدليل الشامل أن بيئة البرمجة R توفر منظومة أدوات برمجية متقدمة ومرنة للغاية من خلال حزم مثل tseries وurca، مما يتيح للمحللين والباحثين تنفيذ الاختبارات، وضبط المعلمات اللامعلمية ومصفوفات التباين طويل الأجل، وتفسير المخرجات بدقة واحترافية. ومع ذلك، يظل نجاح التحليل الإحصائي مرهوناً بوعي الباحث بالقيود المنهجية للاختبار، لا سيما حساسيته للانكسارات الهيكلية واختيار نافذة الإبطاء والأنماط الموسمية، مما يؤكد ضرورة الالتزام بأفضل الممارسات العلمية والفحص المتقاطع الشامل للبيانات قبل اتخاذ أي قرارات تنبؤية أو قياسية نهائية.

المراجع (References)

اقتباس هذا المقال

looti, M. (2026, أغسطس 30). How to Perform a KPSS Test in R (Including Example). عرب سايكلوجي. https://arabpsychology.com/statistics/how-to-perform-a-kpss-test-in-r-including-example/
looti, Mohammed. “How to Perform a KPSS Test in R (Including Example).” عرب سايكلوجي, 30 أغسطس 2026, https://arabpsychology.com/statistics/how-to-perform-a-kpss-test-in-r-including-example/.
looti, Mohammed. “How to Perform a KPSS Test in R (Including Example).” عرب سايكلوجي. أغسطس 30, 2026. https://arabpsychology.com/statistics/how-to-perform-a-kpss-test-in-r-including-example/.