سواء كنت تقوم بتخصيص الموارد بشكل أكثر كفاءة لحركة مرور الويب ، أو توقع طلب المريض لاحتياجات التوظيف ، أو توقع مبيعات منتجات الشركة ، فإن التنبؤ هو أداة أساسية في العديد من الشركات. حالة استخدام معينة ، تُعرف باسم التنبؤ بالبداية الباردة، يبني توقعات لسلسلة زمنية تحتوي على القليل من البيانات التاريخية الحالية أو لا تحتوي على أي بيانات تاريخية موجودة ، مثل منتج جديد دخل للتو السوق في صناعة البيع بالتجزئة. تعتمد طرق التنبؤ بالسلاسل الزمنية التقليدية مثل المتوسط المتحرك الانحدار التلقائي (ARIMA) أو التجانس الأسي (ES) بشكل كبير على السلاسل الزمنية التاريخية لكل منتج فردي ، وبالتالي فهي غير فعالة للتنبؤ بالبدء البارد.
في هذا المنشور ، نوضح كيفية إنشاء محرك تنبؤ بالبدء البارد باستخدام AutoGluon AutoML للتنبؤ بالسلسلة الزمنية، حزمة Python مفتوحة المصدر لأتمتة التعلم الآلي (ML) على بيانات الصور والنص والجداول والسلاسل الزمنية. يوفر AutoGluon خط أنابيب للتعلم الآلي الشامل (AutoML) للمبتدئين لمطوري تعلم الآلة ذوي الخبرة ، مما يجعله الحل المؤتمت بالكامل الأكثر دقة وسهولة في الاستخدام. نحن نستخدم ملفات مختبر استوديو Amazon SageMaker خدمة لهذه المظاهرة.
مقدمة إلى السلاسل الزمنية AutoGluon
AutoGluon هي مكتبة مفتوحة المصدر رائدة لـ AutoML للنصوص والصور والبيانات الجدولية ، مما يتيح لك إنتاج نماذج عالية الدقة من البيانات الأولية بسطر واحد فقط من التعليمات البرمجية. في الآونة الأخيرة ، كان الفريق يعمل على توسيع هذه القدرات لتشمل بيانات السلاسل الزمنية ، وقد طور وحدة تنبؤ آلية متاحة للجمهور على GitHub جيثب:. autogluon.forecasting
تعالج الوحدة النمطية تلقائيًا بيانات السلاسل الزمنية الأولية في التنسيق المناسب ، ثم تدرب وتضبط نماذج التعلم العميق الحديثة المختلفة لإنتاج تنبؤات دقيقة. في هذا المنشور ، نوضح كيفية الاستخدام autogluon.forecasting
وتطبيقه على مهام التنبؤ بالبداية الباردة.
حل نظرة عامة
نظرًا لأن AutoGluon عبارة عن حزمة Python مفتوحة المصدر ، يمكنك تنفيذ هذا الحل محليا على الكمبيوتر المحمول أو في Amazon SageMaker Studio Lab. نسير من خلال الخطوات التالية:
- قم بإعداد AutoGluon لـ Amazon SageMaker Studio Lab.
- جهز مجموعة البيانات.
- تحديد معلمات التدريب باستخدام AutoGluon.
- تدريب محرك التنبؤ بالبدء البارد للتنبؤ بالسلسلة الزمنية.
- تصور تنبؤات توقع البداية الباردة.
الافتراض الأساسي لتنبؤ البداية الباردة هو أن العناصر ذات الخصائص المتشابهة يجب أن يكون لها مسارات متسلسلة زمنية متشابهة ، وهو ما يسمح للتنبؤ بالبداية الباردة بعمل تنبؤات بشأن العناصر التي لا تحتوي على بيانات تاريخية ، كما هو موضح في الشكل التالي.
في تجولنا ، نستخدم مجموعة بيانات تركيبية بناءً على استهلاك الكهرباء ، والتي تتكون من سلسلة زمنية كل ساعة لـ 370 عنصرًا ، لكل منها عنصر item_id
من 0 إلى 369. ضمن مجموعة البيانات التركيبية هذه ، كل منها item_id
يرتبط أيضًا بميزة ثابتة (ميزة لا تتغير بمرور الوقت). نحن ندرب أ DeepAR نموذج باستخدام AutoGluon لمعرفة السلوك النموذجي للعناصر المماثلة ، ونقل مثل هذا السلوك لعمل تنبؤات بشأن العناصر الجديدة (item_id
370–373) التي لا تحتوي على بيانات سلاسل زمنية تاريخية. على الرغم من أننا نعرض نهج التنبؤ بالبدء البارد باستخدام ميزة ثابتة واحدة فقط ، إلا أن وجود ميزات ثابتة غنية بالمعلومات وعالية الجودة هو المفتاح للحصول على تنبؤ جيد بالبداية الباردة.
يوفر الرسم التخطيطي التالي نظرة عامة عالية المستوى على الحل الذي نقدمه. كود المصدر المفتوح متاح على جيثب ريبو.
المتطلبات الأساسية المسبقة
في هذا الدليل ، يجب أن يكون لديك المتطلبات الأساسية التالية:
- An حساب Amazon SageMaker Studio Lab
- GitHub جيثب: الوصول للحساب
قم بتسجيل الدخول إلى حساب Amazon SageMaker Studio Lab الخاص بك وقم بإعداد البيئة باستخدام الجهاز:
يجب أن تعمل هذه التعليمات أيضًا من الكمبيوتر المحمول الخاص بك إذا لم يكن لديك وصول إلى Amazon SageMaker Studio Lab (نوصي بتثبيت Anaconda على الكمبيوتر المحمول أولاً).
عندما تكون البيئة الافتراضية مُجهزة بالكامل ، قم بتشغيل الكمبيوتر الدفتري AutoGluon-cold-start-demo.ipynb
وحدد البيئة المخصصة .conda-autogluon:Python
نواة.
قم بإعداد السلاسل الزمنية المستهدفة ومجموعة البيانات الوصفية للعنصر
قم بتنزيل مجموعات البيانات التالية إلى مثيل دفتر الملاحظات الخاص بك إذا لم يتم تضمينها ، واحفظها ضمن الدليل data/
. يمكنك العثور على مجموعات البيانات هذه على موقعنا جيثب ريبو:
- Test.csv.gz
- ColdStartTargetData.csv
- itemMetaData.csv
قم بتشغيل المقتطف التالي لتحميل مجموعة بيانات السلاسل الزمنية المستهدفة في kernel:
تتطلب السلاسل الزمنية AutoGluon ميزات ثابتة يتم تمثيلها بتنسيق رقمي. يمكن تحقيق ذلك من خلال التقديم LabelEncoder()
على ميزتنا الثابتة type
، حيث نقوم بتشفير A = 0 ، B = 1 ، C = 2 ، D = 3 (انظر الكود التالي). بشكل افتراضي ، يستنتج AutoGluon الميزة الثابتة لتكون إما ترتيبية أو قاطعة. يمكنك أيضًا الكتابة فوق هذا عن طريق تحويل عمود الميزة الثابتة إلى نوع بيانات كائن / سلسلة للميزات الفئوية ، أو نوع بيانات عدد صحيح / عائم للميزات الترتيبية.
قم بإعداد وبدء تدريب نموذج AutoGluon
نحن بحاجة لتحديد save_path = ‘autogluon-coldstart-demo’
كاسم مجلد الأداة النموذجية (انظر الكود التالي). نحن أيضا وضعنا eval_metric
as يعني نسبة الخطأ المطلقالطرق أو ‘MAPE’
باختصار ، حيث حددنا prediction_length
24 ساعة. إذا لم يتم تحديده ، فإن AutoGluon بشكل افتراضي ينتج تنبؤات احتمالية ويسجلها عبر خسارة الكمية الموزونة. نحن ننظر فقط إلى نموذج DeepAR في العرض التوضيحي ، لأننا نعلم أن خوارزمية DeepAR تسمح بالتنبؤ بالبداية الباردة حسب التصميم. قمنا بتعيين أحد معلمات DeepAR الفائقة بشكل تعسفي وتمرير هذا المعامل التشعبي إلى ملف ForecastingPredictor().fit()
يتصل. هذا يسمح لـ AutoGluon بالبحث فقط في النموذج المحدد. للحصول على قائمة كاملة بالمعلمات التشعبية القابلة للضبط ، يرجى الرجوع إلى حزمة gluonts.model.deepar.
يستغرق التدريب 30-45 دقيقة. يمكنك الحصول على ملخص النموذج عن طريق استدعاء الوظيفة التالية:
تنبؤات عنصر البدء البارد
نحن الآن جاهزون لإنشاء تنبؤات لعنصر البداية الباردة. نوصي بوجود خمسة صفوف على الأقل لكل منها item_id
. لذلك ، بالنسبة لـ item_id
التي تحتوي على أقل من خمس ملاحظات ، نملأها بـ NaNs. في عرضنا ، كلاهما item_id
370 و 372 لهما ملاحظة صفرية ، مشكلة بداية باردة خالصة ، في حين أن الاثنين الأخريين لهما خمس قيم مستهدفة.
قم بتحميل مجموعة بيانات السلسلة الزمنية المستهدفة لبدء التشغيل البارد بالشفرة التالية:
نقوم بتغذية السلسلة الزمنية المستهدفة لبدء التشغيل البارد في نموذج AutoGluon الخاص بنا ، جنبًا إلى جنب مع مجموعة البيانات الوصفية للعناصر من أجل البداية الباردة item_id
:
تصور التوقعات
يمكننا إنشاء دالة رسم لإنشاء تصور لتنبؤ بالبداية الباردة ، كما هو موضح في الرسم البياني التالي.
تنظيف
لتحسين استخدام الموارد ، ضع في اعتبارك إيقاف وقت التشغيل في Amazon SageMaker Studio Lab بعد استكشاف الكمبيوتر المحمول بالكامل.
وفي الختام
في هذا المنشور ، أوضحنا كيفية إنشاء محرك التنبؤ بالبدء البارد باستخدام AutoGluon AutoML لبيانات السلاسل الزمنية في Amazon SageMaker Studio Lab. لأولئك منكم الذين يتساءلون عن الفرق بين توقعات الأمازون و AutoGluon (سلسلة زمنية) ، Amazon Forecast عبارة عن خدمة مُدارة ومدعومة بالكامل تستخدم التعلم الآلي (ML) لإنشاء تنبؤات دقيقة للغاية دون الحاجة إلى أي خبرة سابقة في تعلم الآلة. بينما يعد AutoGluon مشروعًا مفتوح المصدر يدعمه المجتمع بأحدث المساهمات البحثية. لقد مررنا من خلال مثال شامل لشرح ما يمكن لـ AutoGluon للسلسلة الزمنية القيام به ، وقدمنا مجموعة بيانات وحالة استخدام.
AutoGluon لبيانات السلاسل الزمنية عبارة عن حزمة Python مفتوحة المصدر ، ونأمل أن يمنحك هذا المنشور ، جنبًا إلى جنب مع مثال الكود الخاص بنا ، حلاً مباشرًا لمعالجة مشكلات التنبؤ بالبداية الباردة الصعبة. يمكنك الوصول إلى المثال الكامل على موقعنا جيثب ريبو. جربه وأخبرنا برأيك!
حول المؤلف
إيفان كوي هو عالم بيانات مع خدمات AWS الاحترافية ، حيث يساعد العملاء على بناء الحلول ونشرها باستخدام التعلم الآلي على AWS. لقد عمل مع عملاء من مختلف الصناعات ، بما في ذلك البرمجيات والتمويل والأدوية والرعاية الصحية. في أوقات فراغه ، يستمتع بالقراءة وقضاء الوقت مع عائلته وتعظيم محفظته المالية.
جوناس مولر هو عالم تطبيقي كبير في مجموعة أبحاث الذكاء الاصطناعي والتعليم في AWS ، حيث يطور خوارزميات جديدة لتحسين التعلم العميق وتطوير التعلم الآلي الآلي. قبل انضمامه إلى AWS لإضفاء الطابع الديمقراطي على ML ، أكمل درجة الدكتوراه في مختبر MIT لعلوم الكمبيوتر والذكاء الاصطناعي. في أوقات فراغه ، يستمتع باستكشاف الجبال والهواء الطلق.
وينمينغ يي مدير منتج بحثي في AWS AI. إنه متحمس لمساعدة الباحثين وعملاء المؤسسات على توسيع نطاق ابتكاراتهم بسرعة من خلال تكنولوجيا التعلم الآلي مفتوحة المصدر وحديثة. يتمتع Wenming بخبرة متنوعة في البحث والتطوير من Microsoft Research وفريق هندسة SQL والشركات الناشئة الناجحة.
- "
- 100
- 9
- من نحن
- مطلق
- الوصول
- حسابي
- دقيق
- تحقق
- في
- AI
- منظمة العفو الدولية البحوث
- خوارزمية
- خوارزميات
- السماح
- بالرغم ان
- أمازون
- تطبيق
- نهج
- مصطنع
- الذكاء الاصطناعي
- الآلي
- متاح
- المتوسط
- AWS
- نساعدك في بناء
- يبني
- الأعمال
- دعوة
- يستطيع الحصول على
- قدرات
- CD
- تغيير
- الدفع
- الكود
- عمود
- مجتمع
- الشركة
- علوم الكمبيوتر
- استهلاك
- العملاء
- البيانات
- عالم البيانات
- الطلب
- نشر
- تصميم
- تطوير
- المتقدمة
- المطورين
- لا
- التعليم
- الطُرق الفعّالة
- كهرباء
- الهندسة
- دخل
- مشروع
- البيئة
- أساسي
- مثال
- الخبره في مجال الغطس
- تمكنت
- مد
- للعائلات
- الميزات
- المميزات
- الشكل
- تمويل
- الاسم الأول
- متابعيك
- شكل
- مجانًا
- بالإضافة إلى
- وظيفة
- مستقبل
- توليد
- بوابة
- خير
- تجمع
- وجود
- الرعاية الصحية
- يساعد
- جدا
- تاريخي
- كيفية
- كيفية
- HTTPS
- صورة
- تنفيذ
- تحسن
- شامل
- بما فيه
- فرد
- الصناعات
- العالمية
- المتكاملة
- رؤيتنا
- IT
- القفل
- معروف
- كمبيوتر محمول
- آخر
- إطلاق
- قيادة
- تعلم
- تعلم
- المكتبة
- خط
- قائمة
- القليل
- تحميل
- آلة
- آلة التعلم
- القيام ب
- مدير
- تجارة
- مييتااا
- مایکروسافت
- معهد ماساتشوستس للتكنولوجيا
- ML
- نموذج
- عارضات ازياء
- أكثر
- يتحرك
- منتج جديد
- مفكرة
- كود مفتوح المصدر
- أخرى
- في الهواء الطلق
- نسبة مئوية
- الأدوية
- محفظة
- تنبؤات
- المشكلة
- مشاكل
- العمليات
- إنتاج
- منتج
- المنتجات
- محترف
- تنفيذ المشاريع
- ويوفر
- R & D
- الخام
- نادي القراءة
- نوصي
- بحث
- مورد
- الموارد
- بيع بالتجزئة
- الأملاح
- حجم
- التحجيم
- علوم
- عالم
- مسلسلات
- الخدمة
- خدمات
- طقم
- قصير
- مماثل
- تطبيقات الكمبيوتر
- الحلول
- الإنفاق
- بداية
- البدء
- مخزون
- ستوديو
- ناجح
- مدعومة
- الهدف
- المهام
- فريق
- تكنولوجيا
- محطة
- عبر
- الوقت
- سويا
- تقليدي
- حركة المرور
- قادة الإيمان
- القطارات
- us
- تستخدم
- افتراضي
- التصور
- الويب
- ابحث عن
- من الذى
- في غضون
- بدون
- للعمل
- عمل
- عامل
- صفر