السلاسل الزمنية2018مبتدئ10 دقيقة قراءة
التنبؤ على نطاق واسع
Forecasting at Scale
Taylor, S. J. · Letham, B. — The American Statistician
المشكلة
بحلول عام 2017 أصبحت المؤسسات بحاجة لآلاف التنبؤات الموثوقة — لتخطيط الموارد وتحديد الأهداف واكتشاف الحالات الشاذة — لكنها كانت تصطدم بمشكلتين. الأساليب الآلية مثل ARIMA هشّة وصعبة التعديل، ولا تسمح بإدخال معرفة تخصصية كمواعيد الأعياد أو إطلاق المنتجات. وفي المقابل، المحللون القادرون على بناء تنبؤات جيدة يدوياً قلّة، لأن العمل مع السلاسل الزمنية يتطلب خبرة إحصائية عميقة. الهوّة بين حجم الطلب على التنبؤات والقدرة الفعلية على إنتاجها كانت تتّسع بسرعة.
الإسهام
نموذج Prophet لتحليل السلاسل الزمنية، مبنيّ كنموذج جمعي معمَّم (GAM) يُفكّك الإشارة إلى ثلاثة مكوّنات واضحة: نمو مُجزَّأ (خطي أو لوجستي)، متعددة الدورات باستخدام ، وتأثيرات الأعياد والمناسبات. يُدرَّب النموذج بسرعة عبر L-BFGS أو الكامل في Stan، ومعاملاته مُصمَّمة بحيث يستطيع محلل بلا خلفية إحصائية ضبطها اعتماداً على خبرته بالمجال. تُقدّم الورقة أيضاً أسلوب التنبؤات التاريخية المُحاكاة (SHFs) لتقييم طرق ومقارنتها آلياً وعلى نطاق واسع.
الأثر
أصبح Prophet من أوسع أدوات التنبؤ انتشاراً في الصناعة، حيث يُشغّل آلاف التنبؤات داخل فيسبوك ولدى مؤسسات حول العالم. إتاحته مفتوح المصدر بلغتي Python وR جعلت التنبؤ عالي الجودة في متناول غير المتخصصين. فلسفته في جعل المحلل جزءاً من الحلقة غيّرت نظرة الفرق لعملية التنبؤ — لم تعد صندوقاً أسود، بل شراكة بين الخبرة البشرية والنماذج الإحصائية. كما رسّخ Prophet منهج الجمعي أسلوباً معتمداً في التعامل مع السلاسل الزمنية للأعمال.
تخيّل أنك تريد توقّع حركة المرور على طريق سريع مزدحم. لن تحاول تتبّع كل سيارة على حدة — بل ستُعدّ ثلاث خرائط شفافة: الأولى ترسم كيف تنمو المدينة على المدى الطويل، والثانية تُظهر أنماط الذروة الأسبوعية التي تتكرّر بانتظام، والثالثة تُحدّد أيام الأعياد التي يخفّ فيها المرور. ضع الخرائط فوق بعضها وستحصل على تنبؤ دقيق بشكل مدهش — دون أن تكون مهندس مرور.
هذه هي فكرة Prophet بالضبط مع أي مقياس تجاري: يفصل الإشارة إلى طبقة اتجاه، وطبقة موسمية، وطبقة أعياد، ثم يجمعها في تنبؤ واحد.
المشكلة: التنبؤ على نطاق واسع مشكلة بشرية بالدرجة الأولى
حين يتحدّث تايلور وليثام عن «التنبؤ على نطاق واسع»، لا يعنيان التحدّي الحوسبي — فتدريب آلاف النماذج بالتوازي أمر مباشر تقنياً. ما يعنيانه هو ثلاثة تحدّيات بشرية:
- أشخاص كُثر يحتاجون لإنتاج تنبؤات، وأغلبهم ليس لديه خلفية في تحليل .
- تنوّع هائل في طبيعة السلاسل: كل واحدة لها خصوصيات مثل إطلاق منتجات أو أعياد محلية.
- كمّ ضخم من التنبؤات يجب مراقبتها ومقارنتها وتصحيحها بكفاءة.
الطريقة التقليدية — أن يجلس خبير يدرس سلسلة زمنية واحدة لعدة أيام — تنهار تماماً حين تحتاج مؤسسة لمئات التنبؤات أسبوعياً. الحلّ الذي يطرحه المؤلفان هو نظام المحلل ضمن الحلقة (): نموذج واضح البنية يستطيع المحلل ضبط معاملاته بناءً على خبرته بالمجال، مع أدوات تقييم آلية تُنبّه تلقائياً إلى التنبؤات التي تحتاج تدخّلاً بشرياً.
الفكرة الجوهرية: فكِّك السلسلة الزمنية إلى طبقات قابلة للتفسير
الفكرة المحورية في Prophet هي أنه يتعامل مع السلسلة الزمنية بوصفها مجموع ثلاث طبقات مستقلة، بالإضافة إلى ضجيج عشوائي. تخيّل أنك وضعت ثلاث أوراق شفافة فوق بعضها، كل ورقة ترسم نمطاً مختلفاً. طبقة النمو تصف المسار العام — هل المقياس في صعود أم استقرار أم تراجع؟ طبقة الموسمية ترصد الدورات المتكررة — أنماط أسبوعية أو سنوية أو الاثنتين معاً. وطبقة الأعياد تلتقط القفزات والانخفاضات المفاجئة الناتجة عن المناسبات والأعياد. أما ما يتبقّى فيذهب إلى حدّ الضجيج .
هذا هو سرّ قوة النموذج: تستطيع فحص كل طبقة بمفردها وتفهم بالضبط ما الذي يقود التنبؤ.
النمو: نمذجة المسار طويل المدى
مكوّن النمو يرسم الاتجاه العام — الصورة الكبرى لمسار المقياس بعيداً عن التذبذبات الدورية. يُقدّم Prophet طريقتين لنمذجة هذا النمو حسب طبيعة البيانات.
النمو اللوجستي مناسب حين يكون هناك سقف طبيعي لا يمكن تجاوزه — ما نُسمّيه . مثلاً: عدد مستخدمي فيسبوك في بلدٍ ما محكوم بعدد من لديهم اتصال بالإنترنت. المنحنى اللوجستي له الشكل S المألوف: بداية بطيئة، ثم تسارع حادّ، ثم تشبُّع تدريجي.
النمو الخطي مناسب حين لا يوجد سقف واضح — كالإيرادات أو مشاهدات الصفحات التي يمكنها نظرياً أن تنمو بلا حدود. هو ببساطة خط مستقيم مُجزَّأ يتغيّر ميله عند لحظات مفصلية.
في الحالتين، يسمح Prophet لمعدل النمو بأن يتغيّر عند نقاط تُسمّى . إطلاق منتج جديد قد يُسرّع النمو، ودخول منافس قوي قد يُبطئه. بدلاً من فرض منحنى جامد لا ينثني، يُلائم Prophet منحنى مرناً مُجزَّأً يتكيّف مع التحوّلات الحقيقية في سلوك البيانات.
الموسمية: التقاط الإيقاعات المتكررة بمتسلسلة فورييه
المقاييس التجارية انعكاس لسلوك الناس، والناس كائنات ذات عادات ثابتة. نتصفّح مواقع التواصل أكثر في أيام العمل، ونتسوّق أكثر قبل الأعياد، ونسافر أكثر صيفاً. هذه الأنماط المتكررة هي ما يُمثّله مكوّن الموسمية .
يُقرّب Prophet هذه الموسمية بمتسلسلة فورييه — أي مجموع موجات جيبية وجيب تمامية بترددات مختلفة. الفكرة أشبه بضبط محطات الراديو: كل تردد يلتقط إيقاعاً دورياً مختلفاً. للموسمية الأسبوعية يكفي عادةً حدود فورييه لرسم الفارق بين أيام العمل وعطلة نهاية الأسبوع. أما الموسمية السنوية فتحتاج حدود لالتقاط تفاصيل أدقّ كالعطلات الصيفية وموسم العودة للمدارس.
الميزة الكبرى هنا: لا تحتاج لوصف تأثير كل يوم يدوياً. أساس فورييه يكتشف الشكل الموسمي وحده من البيانات.
الأعياد: التعامل مع الصدمات التقويمية غير الدورية
أعياد مثل عيد الشكر (الخميس الرابع من نوفمبر) أو نهائي السوبر بول لا تقع في التاريخ نفسه كل سنة، وبالتالي لا تستطيع منحنيات الموسمية الملساء التقاطها. لذلك يُخصّص Prophet مكوّناً منفصلاً للأعياد.
كل ما على المحلل فعله هو تزويد النموذج بجدول فيه أسماء الأعياد وتواريخها — ماضيها ومستقبلها. النموذج يُعطي كل عيد معاملاً خاصاً يقيس حجم أثره على المقياس. ويمكن أيضاً تحديد نافذة أيام حول العيد، لأن سلوك الناس يتغيّر في الأيام التي تسبق الكريسماس مثلاً وتليه.
هذه من أكثر ميزات Prophet عمليّةً: تُدرج قائمة الأعياد المهمّة لبلدك أو نشاطك التجاري، والنموذج يتكفّل بتعلّم أثر كل عيد تلقائياً دون أي تدخّل إحصائي.
الملاءمة: تقدير سريع بمعاملات صديقة للمحلل
Prophet يتعامل مع التنبؤ بوصفه مسألة ملاءمة منحنيات، وليس نموذجاً توليدياً لـالسلاسل الزمنية. هذا خيار تصميمي واعٍ: يتخلّى عن نمذجة الارتباط الزمني التي يتميّز بها ARIMA (حيث كل قيمة تعتمد على سابقاتها) ويكسب في المقابل السرعة والمرونة ووضوح التفسير.
النموذج مبنيّ في Stan ويُدرَّب بطريقتين. الطريقة الافتراضية هي تقدير MAP عبر L-BFGS — المُحسِّن نفسه المستخدم في الانحدار اللوجستي — ولا يستغرق سوى ثوانٍ حتى مع بيانات يومية تمتدّ لسنوات. وإذا احتجت تقديراً كاملاً لعدم اليقين، يدعم Prophet الاستدلال البايزي الكامل عبر عيّنات هاملتون مونت كارلو في Stan.
أما القرار التصميمي الأهمّ فهو أن النموذج لا يملك إلا عدداً صغيراً من المعاملات المفهومة بشرياً. المحلل لا يحتاج لمعرفة ما هي متسلسلة فورييه أو توزيع لابلاس — يكفيه أن يُحرّك مقبضاً يقول «كم أريد الاتجاه مرناً؟» أو «ما مدى قوة الموسمية؟»
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
# البادئات k ~ Normal(0, 5) # معدل النمو الأساسي b ~ Normal(0, 5) # الإزاحة delta ~ Laplace(0, tau) # تعديلات المعدل عند نقاط التحوّل beta ~ Normal(0, sigma) # معاملات الموسمية
# دالة الإمكان (نسخة النمو اللوجستي) y ~ Normal(
C / (1 + exp(-(k + A*delta) * (t - (b + A*gamma))))
+ X*beta, # الموسمية + الأعياد
epsilon
)التقييم: التنبؤات التاريخية المُحاكاة
كيف تتأكّد أن نموذج التنبؤ يعمل فعلاً؟ لا يمكنك اللجوء إلى التقليدي، لأن نقاط السلسلة الزمنية مرتبطة بترتيبها الزمني — لا يصحّ خلط التواريخ عشوائياً.
الحلّ الذي يطرحه Prophet هو التنبؤات التاريخية المُحاكاة (SHFs): تختار عدة نقاط زمنية في الماضي، وتتظاهر أنك لا تملك إلا البيانات حتى تلك اللحظة، ثم تُنتج تنبؤاً لـ يوماً قادماً وتُقارنه بما حصل فعلاً. بهذا تُحاكي الأخطاء التي كنت سترتكبها لو استخدمت هذه الطريقة حينها.
بتكرار هذه العملية عند تواريخ متعددة ومقارنة النتائج بطرق مرجعية (التنبؤ الساذج، الساذج الموسمي، ARIMA، التنعيم الأسّي)، يستطيع النظام رصد التنبؤات الضعيفة تلقائياً والتنبيه إليها. هنا تتّضح قيمة نظام المحلل ضمن الحلقة على نطاق واسع: بدلاً من فحص كل تنبؤ بنفسك، تُركّز على الحالات التي أشار النظام إلى أنها تحتاج مراجعة.
Prophet مقابل ARIMA: فلسفتان مختلفتان
ARIMA وProphet يُمثّلان فلسفتين مختلفتين تماماً في التنبؤ بـالسلاسل الزمنية. ARIMA توليدي يُنمذج صراحةً بنية الارتباط الزمني — كل قيمة تعتمد على القيم التي سبقتها. هو أنيق رياضياً وله ضمانات استدلالية قوية، لكنه يشترط بيانات منتظمة الفواصل، وتفاضلاً دقيقاً لتحقيق الاستقرارية، وخبرة في اختيار الرُّتب .
Prophet يأخذ مساراً مختلفاً كلياً: يتعامل مع التنبؤ بوصفه ملاءمة منحنيات. لا يُنمذج الارتباط الذاتي أصلاً، بل يرصد مباشرةً الأنماط التي يهتمّ بها البشر — الاتجاه والمواسم والأعياد — ويترك المتبقيات ضجيجاً عشوائياً. هذا يجعله أقلّ صرامة من الناحية النظرية، لكنه أنسب بكثير لبيئة المحلل ضمن الحلقة حيث السرعة ووضوح التفسير والمرونة أهمّ من الضمانات الرياضية.
ميزة عملية إضافية: Prophet يتقبّل البيانات الناقصة بلا حاجة لاستكمالها، ويتعامل مع الفواصل غير المنتظمة ودورات موسمية متعددة — وكلها مشكلات مؤلمة مع ARIMA.
الخط الزمني: من Prophet إلى التنبؤ الحديث
2017
إطلاق Prophet
تايلور وليثام يُطلقان Prophet كبرنامج مفتوح المصدر بلغتي Python وR. تُنشر الورقة على PeerJ Preprints.
2018
النشر في The American Statistician
تُنشر الورقة بصيغتها النهائية. Prophet يُستخدم بالفعل على نطاق واسع في فيسبوك لتخطيط السعة وتحديد الأهداف عبر آلاف السلاسل الزمنية.
2019
DeepAR والتنبؤ العصبي
DeepAR من أمازون يستخدم شبكات RNN ذاتية الانحدار لإنتاج تنبؤات احتمالية، مُشيراً إلى بداية تحوّل نحو التعلم العميق في مجال السلاسل الزمنية.
2020
N-BEATS
بنية تعلم عميق صرفة للتنبؤ بالسلاسل الزمنية، تغلّبت على الأساليب الإحصائية في مسابقة M4 دون الاعتماد على أي افتراضات مسبقة خاصة بالسلاسل الزمنية.
2023
النماذج التأسيسية للسلاسل الزمنية
TimesFM ونماذج تأسيسية أخرى تنقل نموذج «التدريب المسبق ثم الضبط» إلى عالم السلاسل الزمنية، حيث تُدرَّب على ملايين السلاسل المتنوعة وتُحقّق تنبؤاً فورياً دون أمثلة سابقة.
المرجعTaylor, S. J. and Letham, B.. Forecasting at Scale. The American Statistician, 2018.
مصطلحات هذه الورقة
- التنبؤForecast
- النموذج الإضافي التراكميAdditive Model
- النموذج الجمعي المعمَّمGeneralized Additive Model
- التفكيكDecomposition
- موسميةSeasonality
- نقطة تحوّلChangepoint
- متسلسلة فورييهFourier Series
- الانحدار اللوجستي الاحتماليLogistic Regression
- الضبط الهيكليRegularization
- التحقق المتقاطع من الأداءCross-Validation
- فرط التخصيصOverfitting
- المعلمة الفائقةHyperparameter
- الاستدلال البايزيBayesian Inference
- سلسلة زمنيةTime Series
- اتجاهTrend