من الـ models للتنبؤات
الـ fit بتاع الـ model نص الشغل بس. الهدف العملي من تحليل الـ time series تقريبًا دايمًا هو الـ forecasting (التنبؤ): إنك تستخدم model متظبّط على بيانات اللي فات عشان تطلّع تنبؤات عن القيم الجاية. في الدرس ده بنتكلم إزاي تطلّع التنبؤات دي وتقيّمها بدقة — ومنها الـ point forecasts والـ prediction intervals ومقاييس الدقة وطرق الـ exponential smoothing ومكتبة Prophet الحديثة.
الـ forecasting فن وعلم في نفس الوقت. المتنبئ الشاطر فاهم الافتراضات اللي ورا كل طريقة، وعارف يشخّص فشل التنبؤ، وبيختار الأداة المناسبة للأفق الزمني وتكرار البيانات.
الـ point forecast — قيمة واحدة كأحسن تخمين لكل خطوة زمنية جاية. سهل تقوله، بس مش بيوري عدم اليقين.
الـ interval forecast — مدى (زي prediction interval 95%) متوقع إن القيمة الجاية تقع جواه. بيقيس عدم اليقين وضروري لاتخاذ القرار.
الـ point forecast من غير prediction interval تنبؤ ناقص.الـ prediction intervals
في الـ ARIMA model، عدم اليقين في التنبؤ بيزيد مع الأفق الزمني. عند الأفق h، الـ h-step prediction interval هي:
في الـ random walk (ARIMA(0,1,0))، الـ variance بتاع التنبؤ بيزيد خطيًا مع الأفق: σh2 = hσε2. يعني الـ prediction intervals بتوسع زي جذر h — ودي حاجة هتشوفها كتير وإنت بتتنبأ بالـ time series المالية.
مقاييس دقة التنبؤ
الدقة بتتقاس على test set محجوزة الـ model مشافهاش وقت التدريب. وأشهر 3 مقاييس هما الـ MAE والـ RMSE والـ MAPE.
مفيش مقياس واحد أحسن من غيره في كل الحالات. الـ RMSE يُفضّل لما الأخطاء الكبيرة تبقى غالية بالذات؛ والـ MAE لما الأخطاء تبقى تقريبًا متماثلة؛ والـ MAPE لما تكلم جمهور مش تقني. قول دايمًا أكتر من مقياس، وقيّمهم جنب تغطية الـ prediction intervals.
طرق الـ exponential smoothing
طرق الـ exponential smoothing عيلة من خوارزميات التنبؤ بتدّي أوزان بتقل exponentially للمشاهدات اللي فاتت — المشاهدات الأحدث أهم. وهي كتير بتنافس الـ ARIMA models وأسهل في الضبط.
الـ simple exponential smoothing (SES): للسلاسل اللي مفيهاش trend ولا seasonality. ليها smoothing parameter واحد α (0 < α < 1). ومكافئة لـ ARIMA(0,1,1).
طريقة Holt الخطية: بتزوّد معادلة تانية تتابع الـ trend بـ parameter β. مناسبة للسلاسل اللي فيها trend من غير seasonality.
الـ Holt–Winters (الـ triple exponential smoothing): بتزوّد مكوّن موسمي بـ parameter γ. النسخة الـ additive بتتعامل مع تذبذب موسمي ثابت، والـ multiplicative مع تذبذب بيكبر.
الـ Prophet: التنبؤ على نطاق واسع
الـ Prophet (اللي طلّعته Meta سنة 2017) مكتبة تنبؤ open-source متصممة لـ الـ business time series اللي فيها seasonality قوية وتأثيرات أجازات كتير وبيانات ناقصة. بتفكّ السلسلة لـ trend وseasonality وأجازات/أحداث وبعدين بتزوّد حد noise.
الـ trend: نمو خطي أو logistic على حتت مع اكتشاف أوتوماتيك للـ changepoints.
الـ seasonality: Fourier series بفترات تقدر تظبطها (سنوية، أسبوعية، يومية).
الأجازات: تواريخ أحداث بيدّيها المستخدم وبيتعملها model بـ indicators لوحدها.
الـ Prophet متين قدام الـ outliers، وبيتعامل مع الفجوات أوتوماتيك، ومحتاج ضبط قليل — مثالي للممارسين اللي بيتنبأوا بمئات السلاسل.
الـ cross-validation للـ time series
الـ k-fold cross-validation العادي بيخلط المشاهدات عشوائي، وده غلط مع الـ time series لأنه بيسرّب معلومات من المستقبل للتدريب. والطريقة الصح هي الـ walk-forward validation (التحقق بالتقدم للأمام).
في الطريقة دي بتدرّب بالتكرار على البيانات لحد الزمن t وتقيّم على الـ h مشاهدات اللي بعدها، وبعدين تقدّم شباك التدريب خطوة وتكرّر. وده بيحاكي مهمة التنبؤ الحقيقية وبيدّيك distribution للأخطاء على كذا شباك تقييم.
الـ expanding window: الـ training set بتكبر كل خطوة (درّب على t=1..100، وبعدين 1..101، …). بتستخدم كل التاريخ المتاح؛ وأحسن لما البيانات تبقى قليلة.
الـ rolling window: حجم الـ training set ثابت وبيتحرك لقدام (درّب على t=1..100، وبعدين 2..101، …). بتمنع الماضي البعيد إنه يسيطر؛ وأحسن لما آلية توليد البيانات بتتغيّر مع الزمن.
الـ ensemble forecasting
دمج تنبؤات من كذا model تقريبًا دايمًا بيغلب أي model لوحده. والظاهرة دي — الـ forecast combination puzzle (لغز التركيب التنبؤي) — من أثبت النتايج التجريبية في أبحاث التنبؤ. حتى المتوسط البسيط بأوزان متساوية بين الـ ARIMA والـ exponential smoothing وnaive baseline كتير بيغلب كل طريقة لوحدها.
أما الـ ensembles الأعقد فبتدّي الـ models أوزان على حسب دقتها الأخيرة (dynamic combination)، أو بتستخدم stacking عن طريق meta-learner، أو بتدمج الـ point forecasts مع probabilistic models. ومسابقة التنبؤ M4 سنة 2018 وضّحت إن الـ hybrid ensembles بين الإحصاء والـ machine learning هي في القمة على benchmark قياسي من 100,000 سلسلة.
لـ K models بتنبؤات &hat;Y1,t+h، …، &hat;YK,t+h:
&hat;Yensemble = (1/K) ∑&hat;Yk,t+h- الـ point forecasts لازم دايمًا يبقى معاها prediction intervals؛ وعدم اليقين بيزيد مع أفق التنبؤ.
- الـ MAE والـ RMSE والـ MAPE بيبيّنوا جوانب مختلفة من خطأ التنبؤ؛ قول كذا مقياس متقيّمين على test set محجوزة.
- الـ exponential smoothing (SES وHolt وHolt–Winters) بيدّي بدايل بسيطة وفعّالة للـ ARIMA، خصوصًا للسلاسل التجارية اللي فيها trend وseasonality.
- الـ Prophet بيتعامل مع السلاسل التجارية اللي فيها seasonality قوية وتأثيرات أجازات وبيانات ناقصة أوتوماتيك بضبط قليل.
- الـ walk-forward cross-validation (expanding أو rolling) هو الطريقة الصح لتقييم models التنبؤ؛ عمرك ما تستخدم الـ k-fold العادي.
- الـ ensemble forecasts اللي بتجمع كذا model تقريبًا دايمًا بتغلب أي model لوحده؛ والمتوسط بأوزان متساوية baseline قوي.