نظرة عامة على أساليب التنبؤ في AutoML

تركز هذه المقالة على الأساليب التي يستخدمها AutoML لإعداد بيانات السلاسل الزمنية وإنشاء نماذج التنبؤ. يمكن العثور على إرشادات وأمثلة لنماذج تنبؤ التدريب في AutoML في مقالة التنبؤ بإعداد AutoML للسلسلة الزمنية .

يستخدم AutoML عدة أساليب للتنبؤ بقيم السلاسل الزمنية. يمكن تعيين هذه الأساليب تقريبا إلى فئتين:

  1. نماذج السلاسل الزمنية التي تستخدم القيم التاريخية للكمية المستهدفة لإجراء تنبؤات في المستقبل.
  2. نماذج الانحدار أو التفسيرية التي تستخدم متغيرات التنبؤ للتنبؤ بقيم الهدف.

على سبيل المثال، ضع في اعتبارك مشكلة التنبؤ بالطلب اليومي على علامة تجارية معينة من عصير البرتقال من متجر بقالة. اسمح $y_t$ بتمثيل الطلب على هذه العلامة التجارية في اليوم $t$. يتنبأ نموذج السلسلة الزمنية بالطلب عند $t+1$ باستخدام بعض وظائف الطلب التاريخي،

$y_{t+1} = f(y_t, y_{t-1}, \ldots, y_{t-s})$.

غالبا ما تحتوي الوظيفة $f$ على معلمات نضبطها باستخدام الطلب الملاحظ من الماضي. يمكن أيضا اعتبار مقدار التاريخ الذي يستخدمه $f$ لإجراء تنبؤات، $s$، معلمة للنموذج.

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

$y = g(\text{price}, \text{day of week}, \text{holiday})$.

مرة أخرى، يحتوي $g$ بشكل عام على مجموعة من المعلمات، بما في ذلك تلك التي تحكم الانتظام، التي يضبطها AutoML باستخدام القيم السابقة للطلب والمتنبؤات. نحذف $t$ من التعبير للتأكيد على أن نموذج الانحدار يستخدم أنماطا ارتباطية بين المتغيرات المعرفة في نفس الوقت لإجراء تنبؤات. أي، للتنبؤ $y_{t+1}$ من $g$، يجب أن نعرف أي يوم من أيام الأسبوع يقع عليه $t+1$، سواء كان عطلة، وسعر عصير البرتقال في اليوم $t+1$. يتم العثور دائما على أول قطعتين من المعلومات بسهولة من خلال استشارة تقويم. عادة ما يتم تعيين سعر التجزئة مقدما، لذلك من المحتمل أن يكون سعر عصير البرتقال معروفا أيضا قبل يوم واحد. ومع ذلك، قد لا يكون السعر معروفا لمدة 10 أيام في المستقبل! من المهم أن نفهم أن فائدة هذا الانحدار محدودة بمقدار المسافة التي نحتاجها إلى التنبؤات في المستقبل، وتسمى أيضا أفق التنبؤ، وإلى أي درجة نعرف القيم المستقبلية للمتنبؤات.

هام

تفترض نماذج انحدار التنبؤ الخاصة ب AutoML أن جميع الميزات التي يوفرها المستخدم معروفة في المستقبل، على الأقل حتى أفق التنبؤ.

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

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

نماذج التنبؤ في AutoML

يسرد الجدول التالي نماذج التنبؤ التي تم تنفيذها في AutoML والفئة التي تنتمي إليها:

نماذج السلسلة الزمنية Regression Models
سذاجة، سذاجة موسمية، متوسط، متوسط موسمي، ARIMA(X)، التجانس الأسي SGD الخطي، LARS LASSO، Elastic Net، نبي، K أقرب الجيران، شجرة القرار، الغابة العشوائية، الأشجار العشوائية للغاية، الأشجار المعززة المتدرجة، LightGBM، XGBoost، TCNForecaster

يتم سرد النماذج في كل فئة تقريبا من أجل تعقيد الأنماط التي يمكنهم دمجها، والمعروفة أيضا باسم سعة النموذج. نموذج Naive، الذي يتنبأ ببساطة بالقيمة الأخيرة التي تمت ملاحظتها، لديه قدرة منخفضة في حين أن الشبكة الالتفافية الزمنية (TCNForecaster)، وهي شبكة عصبية عميقة مع ملايين المعلمات القابلة للضبط، لديها قدرة عالية.

والأهم من ذلك، يتضمن AutoML أيضا نماذج المجموعات التي تنشئ مجموعات مرجحة من أفضل النماذج أداء لتحسين الدقة بشكل أكبر. للتنبؤ، نستخدم مجموعة تصويت ناعمة حيث يتم العثور على التكوين والأوزان عبر خوارزمية اختيار مجموعة Caruana.

إشعار

هناك محاذير مهمة لنماذج التنبؤ:

  1. لا يمكن تضمين TCN حاليا في تسميات.
  2. يقوم AutoML بشكل افتراضي بتعطيل أسلوب مجموعة آخر، وهو مجموعة المكدس، المضمنة مع مهام الانحدار والتصنيف الافتراضية في AutoML. تناسب مجموعة المكدس نموذج تعريف على أفضل تنبؤات النموذج للعثور على أوزان المجموعة. لقد وجدنا في القياس الداخلي أن هذه الاستراتيجية لديها ميل متزايد إلى احتواء بيانات السلاسل الزمنية بشكل أكبر. يمكن أن يؤدي ذلك إلى التعميم الضعيف، لذلك يتم تعطيل مجموعة المكدس بشكل افتراضي. ومع ذلك، يمكن تمكينه إذا رغبت في تكوين AutoML.

كيفية استخدام AutoML لبياناتك

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

الطابع الزمني الكمية
2012-01-01 100
2012-01-02 97
2012-01-03 106
... ...
2013-12-31 347

في الحالات الأكثر تعقيدا، قد تحتوي البيانات على أعمدة أخرى تتماشى مع فهرس الوقت.

الطابع الزمني وحدة حفظ المخزون SKU price المعلن عنها الكمية
2012-01-01 عصير1 3.5 0 100
2012-01-01 الخبز3 5.76 0 47
2012-01-02 عصير1 3.5 0 97
2012-01-02 الخبز3 5.5 1 68
... ... ... ... ...
2013-12-31 عصير1 3.75 0 347
2013-12-31 الخبز3 5.7 0 94

في هذا المثال، هناك SKU وسعر البيع بالتجزئة وعلامة تشير إلى ما إذا كان قد تم الإعلان عن عنصر ما بالإضافة إلى الطابع الزمني والكمية المستهدفة. من الواضح أن هناك سلسلاتين في مجموعة البيانات هذه - واحدة لS JUICE1 SKU وواحدة ل BREAD3 SKU؛ SKU العمود هو عمود معرف سلسلة زمنية نظرا لأن التجميع بواسطةه يعطي مجموعتين تحتويان على سلسلة واحدة لكل منهما. قبل مسح النماذج، يقوم AutoML بالتحقق الأساسي من تكوين الإدخال والبيانات ويضيف ميزات هندسية.

متطلبات طول البيانات

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

$T_{\text{user validation}} = H + \text{max}(l_{\text{max}}، s_{\text{window}}) + 1$،

حيث $H$ هو أفق التنبؤ، $l_{\text{max}}$ هو الحد الأقصى لطلب التأخير، $s_{\text{window}}$ هو حجم النافذة لميزات التجميع المتداولة. إذا كنت تستخدم التحقق المتقاطع، فإن الحد الأدنى لعدد الملاحظات هو،

$T_{\text{CV}} = 2H + (n_{\text{CV}} - 1) n_{\text{step}} + \text{max}(l_{\text{max}}، s_{\text{window}}) + 1$،

حيث $n_{\text{CV}}$ هو عدد الطيات عبر التحقق من الصحة $n_{\text{step}}$ هو حجم خطوة CV أو الإزاحة بين طيات CV. المنطق الأساسي وراء هذه الصيغ هو أنه يجب أن يكون لديك دائما أفق على الأقل من الملاحظات التدريبية لكل سلسلة زمنية، بما في ذلك بعض ترك مساحة للتأخر وتقسيمات التحقق المشترك. راجع تحديد نموذج التنبؤ للحصول على مزيد من التفاصيل حول التحقق التبادلي للتنبؤ.

معالجة البيانات المفقودة

تتطلب نماذج السلاسل الزمنية ل AutoML ملاحظات متباعدة بشكل منتظم في الوقت المناسب. يتضمن التباعد المنتظم هنا حالات مثل الملاحظات الشهرية أو السنوية حيث قد يختلف عدد الأيام بين الملاحظات. قبل النمذجة، يجب أن يضمن AutoML عدم وجود قيم سلسلة مفقودة وأن الملاحظات منتظمة. ومن ثم، هناك حالتان مفقودتان للبيانات:

  • قيمة مفقودة لبعض الخلايا في البيانات الجدولية
  • صف مفقود يتوافق مع ملاحظة متوقعة نظرا لتكرار السلسلة الزمنية

في الحالة الأولى، يحسب AutoML القيم المفقودة باستخدام تقنيات شائعة وقابلة للتكوين.

يظهر مثال على صف مفقود ومتوقع في الجدول التالي:

الطابع الزمني الكمية
2012-01-01 100
2012-01-03 106
2012-01-04 103
... ...
2013-12-31 347

هذه السلسلة لديها تردد يومي ظاهريا، ولكن لا توجد ملاحظة ل 2 يناير 2012. في هذه الحالة، سيحاول AutoML تعبئة البيانات عن طريق إضافة صف جديد ل 2 يناير 2012. سيتم بعد ذلك تسجيل القيمة الجديدة للعمود quantity وأي أعمدة أخرى في البيانات، مثل القيم المفقودة الأخرى. من الواضح أن AutoML يجب أن يعرف تكرار السلسلة من أجل ملء فجوات المراقبة مثل هذا. يكتشف AutoML تلقائيا هذا التكرار، أو اختياريا، يمكن للمستخدم توفيره في التكوين.

يمكن تكوين أسلوب الإسناد لملء القيم المفقودة في الإدخال. يتم سرد الأساليب الافتراضية في الجدول التالي:

نوع العمود طريقة الإسناد الافتراضية
استهداف تعبئة للأمام (تم ترحيل الملاحظة الأخيرة)
ميزة رقمية القيمة الوسيطة

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

هندسة الميزات التلقائية

يضيف AutoML بشكل عام أعمدة جديدة إلى بيانات المستخدم لزيادة دقة النمذجة. يمكن أن تتضمن الميزة الهندسية ما يلي:

مجموعة الميزات افتراضي/اختياري
ميزات التقويم المشتقة من فهرس الوقت (على سبيل المثال، يوم من الأسبوع) Default
الميزات الفئوية المشتقة من معرفات السلاسل الزمنية Default
ترميز الأنواع الفئوية إلى نوع رقمي Default
ميزات المؤشر للعطلات المرتبطة ببلد أو منطقة معينة اختياري
التأخر في الكمية المستهدفة اختياري
التأخر في أعمدة الميزات اختياري
تجميعات النوافذ المتداولة (على سبيل المثال، المتوسط المتداول) للكمية المستهدفة اختياري
التحليل الموسمي (STL) اختياري

يمكنك تكوين التمييز من AutoML SDK عبر فئة ForecastingJob أو من واجهة ويب Azure التعلم الآلي studio.

الكشف عن السلاسل الزمنية غير الثابتة ومعالجتها

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

Diagram showing retail sales for a non-stationary time series.

بعد ذلك، دعنا نفحص الصورة التالية، التي ترسم السلسلة الأصلية في الاختلافات الأولى، $\Delta y_{t} = y_t - y_{t-1}$. متوسط السلسلة ثابت تقريبا عبر النطاق الزمني بينما يبدو التباين مختلفا. وبالتالي، هذا مثال على سلسلة الأوقات الثابتة للطلب الأول.

Diagram showing retail sales for a weakly stationary time series.

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

يحلل AutoML تلقائيا مجموعة بيانات السلسلة الزمنية لتحديد القرطاسية. عند اكتشاف سلسلة زمنية غير ثابتة، يطبق AutoML تحويلا مختلفا تلقائيا للتخفيف من تأثير السلوك غير القرطاسي.

مسح النموذج

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

تجميع النموذج

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

كل سلسلة في المجموعة الخاصة (1:1) All Series in Single Group (N:1)
سذاجة، سذاجة موسمية، متوسط، متوسط موسمي، سلاسة أسية، ARIMA، ARIMAX، النبي SGD الخطي، LARS LASSO، Elastic Net، K أقرب الجيران، شجرة القرار، الغابة العشوائية، الأشجار العشوائية للغاية، الأشجار المعززة المتدرجة، LightGBM، XGBoost، TCNForecaster

يمكن تجميع نماذج أكثر عمومية عبر حل النماذج المتعددة ل AutoML؛ راجع دفتر ملاحظات التعلم الآلي من العديد من النماذج.

الخطوات التالية