السلاسل الزمنية هي سلاسل من نقاط البيانات التي تحدث بترتيب متتالي خلال فترة زمنية معينة. غالبًا ما نحلل نقاط البيانات هذه لاتخاذ قرارات عمل أفضل أو اكتساب مزايا تنافسية. مثال على ذلك Shimamura Music الذي استخدم توقعات الأمازون إلى تحسين معدلات النقص وزيادة كفاءة الأعمال. مثال رائع آخر هو Arneg ، الذي استخدم Forecast to توقع احتياجات الصيانة.
تقدم AWS خدمات متنوعة تلبي بيانات السلاسل الزمنية ذات التعليمات البرمجية المنخفضة / التي لا تحتوي على رمز ، والتي يمكن لممارسي التعلم الآلي (ML) وغير المتخصصين استخدامها لبناء حلول ML. وتشمل هذه المكتبات والخدمات مثل AutoGluon, قماش أمازون سيج ميكر, أمازون سيج ميكر داتا رانجلر, Amazon SageMaker الطيار الآليو توقعات الأمازون.
في هذا المنشور ، نسعى إلى فصل مجموعة بيانات السلاسل الزمنية إلى مجموعات فردية تظهر درجة أعلى من التشابه بين نقاط بياناتها وتقليل الضوضاء. والغرض من ذلك هو تحسين الدقة إما من خلال تدريب نموذج عالمي يحتوي على تكوين الكتلة أو نماذج محلية خاصة بكل عنقود.
نستكشف كيفية استخراج الخصائص ، والتي تسمى أيضًا ملامح، من بيانات السلاسل الزمنية باستخدام مكتبة TSFresh—حزمة Python لحساب عدد كبير من خصائص السلاسل الزمنية — وتنفيذ التجميع باستخدام خوارزمية K-Means نفذت في مكتبة scikit-Learn.
نستخدم تجميع السلاسل الزمنية باستخدام TSFresh + KMeans دفتر الملاحظات ، والذي يتوفر على موقعنا جيثب ريبو. نوصي بتشغيل هذا الكمبيوتر الدفتري على أمازون ساجميكر ستوديو، بيئة تطوير متكاملة (IDE) قائمة على الويب من أجل ML.
حل نظرة عامة
التجميع هو أسلوب ML غير خاضع للرقابة يجمع العناصر معًا بناءً على مقياس المسافة. تُستخدم المسافة الإقليدية بشكل شائع لمجموعات البيانات غير المتسلسلة. ومع ذلك ، نظرًا لأن السلسلة الزمنية لها تسلسل (طابع زمني) بطبيعتها ، فإن المسافة الإقليدية لا تعمل بشكل جيد عند استخدامها مباشرة في السلاسل الزمنية لأنها ثابتة في التحولات الزمنية ، متجاهلة البعد الزمني للبيانات. للحصول على شرح أكثر تفصيلا ، يرجى الرجوع إلى تصنيف السلاسل الزمنية والتكتل باستخدام بايثون. مقياس المسافة الأفضل الذي يعمل مباشرة على السلاسل الزمنية هو Dynamic Time Warping (DTW). للحصول على مثال للتجميع بناءً على هذا المقياس ، يرجى الرجوع إلى بيانات السلاسل الزمنية العنقودية للاستخدام مع Amazon Forecast.
في هذا المنشور ، نقوم بإنشاء ميزات من مجموعة بيانات السلاسل الزمنية باستخدام مكتبة TSFresh Python لاستخراج البيانات. TSFresh هي مكتبة تحسب عددًا كبيرًا من خصائص السلاسل الزمنية ، والتي تشمل الانحراف المعياري ، والكمية ، وانتروبيا فورييه ، من بين أمور أخرى. يتيح لنا ذلك إزالة الأبعاد الزمنية لمجموعة البيانات وتطبيق التقنيات الشائعة التي تعمل مع البيانات ذات التنسيقات المسطحة. بالإضافة إلى TSFresh ، نستخدم أيضًا ملفات مقياس قياسي، الذي يوحد الميزات بإزالة المتوسط والتحجيم حسب تباين الوحدة ، و تحليل المكون الرئيسي (PCA) لأداء تقليل الأبعاد. يقلل القياس من المسافة بين نقاط البيانات ، والذي بدوره يعزز الاستقرار في عملية تدريب النموذج ، ويتيح تقليل الأبعاد للنموذج التعلم من عدد أقل من الميزات مع الاحتفاظ بالاتجاهات والأنماط الرئيسية ، مما يتيح تدريبًا أكثر كفاءة.
تحميل البيانات
في هذا المثال ، نستخدم الامتداد مجموعة بيانات UCI Online Retail II وإجراء تنقية البيانات الأساسية وخطوات التحضير كما هو مفصل في دفتر تنظيف البيانات وإعدادها.
ميزة استخراج مع TSFresh
لنبدأ باستخدام TSFresh لاستخراج الميزات من مجموعة بيانات السلاسل الزمنية الخاصة بنا:
لاحظ أن بياناتنا قد تم تحويلها من سلسلة زمنية إلى جدول مقارنة StockCode
القيم مقابل. Feature values
.
بعد ذلك ، نقوم بإسقاط جميع الميزات بامتداد n/a
القيم من خلال استخدام dropna
الأسلوب:
ثم نقوم بتوسيع نطاق الميزات باستخدام StandardScaler
. تتكون القيم في السمات المستخرجة من قيم سالبة وإيجابية. لذلك نستخدم ملفات StandardScaler
بدلا من MinMaxScaler:
نستخدم PCA لتقليل الأبعاد:
ونحدد العدد الأمثل لمكونات PCA:
نسبة التباين الموضحة هي النسبة المئوية للتباين المنسوب إلى كل مكون من المكونات المختارة. عادةً ما تحدد عدد المكونات المراد تضمينها في النموذج الخاص بك عن طريق إضافة نسبة التباين الموضحة بشكل تراكمي لكل مكون حتى تصل إلى 0.8–0.9 لتجنب الإفراط في التجهيز. عادة ما تحدث القيمة المثلى عند الكوع.
كما هو مبين في الرسم البياني التالي ، فإن قيمة الكوع هي 100 تقريبًا. لذلك ، فإننا نستخدم 100 كعدد لمكونات PCA.
التجميع باستخدام K-Means
الآن دعنا نستخدم K-Means مع مقياس المسافة الإقليدية للتجميع. في مقتطف الشفرة التالي ، نحدد العدد الأمثل للمجموعات. تؤدي إضافة المزيد من المجموعات إلى تقليل قيمة القصور الذاتي ، ولكنها تقلل أيضًا من المعلومات الموجودة في كل مجموعة. بالإضافة إلى ذلك ، المزيد من المجموعات يعني المزيد من النماذج المحلية للحفاظ عليها. لذلك ، نريد الحصول على حجم كتلة صغير مع قيمة خمول منخفضة نسبيًا. يعمل استدلال الكوع جيدًا للعثور على العدد الأمثل من المجموعات.
الرسم البياني التالي يصور النتائج التي توصلنا إليها.
بناءً على هذا المخطط ، قررنا استخدام مجموعتين لـ K-Means. لقد اتخذنا هذا القرار لأن مجموع المربعات داخل المجموعة (WCSS) يتناقص بأعلى معدل بين مجموعة أو مجموعتين. من المهم الموازنة بين سهولة الصيانة وأداء النموذج والتعقيد ، لأنه على الرغم من استمرار WCSS في الانخفاض مع وجود المزيد من المجموعات ، فإن المجموعات الإضافية تزيد من خطر التجهيز الزائد. علاوة على ذلك ، يمكن أن تؤدي الاختلافات الطفيفة في مجموعة البيانات إلى تقليل الدقة بشكل غير متوقع.
من المهم ملاحظة أن كلاً من طرق التجميع ، K-Means بمسافة إقليدية (تمت مناقشتها في هذا المنشور) و K- يعني خوارزمية مع DTW، لديهم نقاط قوتهم وضعفهم. يعتمد أفضل نهج على طبيعة بياناتك وطرق التنبؤ التي تستخدمها. لذلك ، نوصي بشدة بتجربة كلا النهجين ومقارنة أدائهما لاكتساب فهم أكثر شمولية لبياناتك.
وفي الختام
في هذا المنشور ، ناقشنا التقنيات القوية لاستخراج الميزات والتجميع لبيانات السلاسل الزمنية. على وجه التحديد ، أظهرنا كيفية استخدام TSFresh ، مكتبة Python الشهيرة لاستخراج الميزات ، لمعالجة بيانات السلاسل الزمنية الخاصة بك مسبقًا والحصول على ميزات مفيدة.
عند اكتمال خطوة التجميع ، يمكنك تدريب عدة نماذج تنبؤ لكل مجموعة ، أو استخدام تكوين المجموعة كميزة. الرجوع إلى دليل مطور توقعات أمازون للحصول على معلومات حول ابتلاع البيانات, تدريب التنبؤو توليد التوقعات. إذا كان لديك بيانات تعريف عنصر وبيانات سلاسل زمنية ذات صلة ، فيمكنك أيضًا تضمينها كمجموعات بيانات إدخال للتدريب في التنبؤ. لمزيد من المعلومات ، يرجى الرجوع إلى ابدأ رحلتك الناجحة مع التنبؤ بالسلسلة الزمنية باستخدام Amazon Forecast.
مراجع حسابات
حول المؤلف
ألكسندر باتروشيف هو AI / ML Specialist Solutions Architect في AWS ، ومقرها في لوكسمبورغ. إنه شغوف بالسحابة والتعلم الآلي والطريقة التي يمكن أن يغيروا بها العالم. خارج العمل ، يستمتع بالتنزه والرياضة وقضاء الوقت مع أسرته.
تشونغ إن ليم هو مهندس حلول في AWS. إنه دائمًا ما يستكشف طرقًا لمساعدة العملاء على الابتكار وتحسين سير عملهم. في أوقات فراغه ، يحب مشاهدة الرسوم المتحركة والاستماع إلى الموسيقى.
إيجور مياسنيكوف هو مهندس حلول في AWS ومقره في ألمانيا. إنه شغوف بالتحول الرقمي في حياتنا وأعمالنا والعالم نفسه ، فضلاً عن دور الذكاء الاصطناعي في هذا التحول. خارج العمل ، يستمتع بقراءة كتب المغامرات والمشي لمسافات طويلة وقضاء الوقت مع أسرته.
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- بلاتوبلوكشين. Web3 Metaverse Intelligence. تضخيم المعرفة. الوصول هنا.
- المصدر https://aws.amazon.com/blogs/machine-learning/boost-your-forecast-accuracy-with-time-series-clustering/