قم بأتمتة التنبؤ بالسلسلة الزمنية الخاصة بك في Snowflake باستخدام Amazon Forecast PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

أتمتة التنبؤ بالسلسلة الزمنية الخاصة بك في Snowflake باستخدام Amazon Forecast

هذا المنشور هو تعاون مشترك مع Andries Engelbrecht و James Sun of Snowflake ، Inc.

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

في AWS ، نعمل أحيانًا مع العملاء الذين اختاروا شريكنا التكنولوجي ندفة الثلج لتقديم تجربة منصة البيانات السحابية. إن امتلاك نظام أساسي يمكنه تذكر سنوات وسنوات من البيانات التاريخية أمر قوي - ولكن كيف يمكنك استخدام هذه البيانات لاستشراف المستقبل واستخدام أدلة الأمس للتخطيط للغد؟ تخيل ليس فقط وجود ما حدث متوفرًا في Snowflake - نسختك الوحيدة من الحقيقة - ولكن أيضًا مجموعة مجاورة من البيانات غير المنعزلة التي تقدم تنبؤًا احتماليًا لأيام أو أسابيع أو شهور في المستقبل.

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

في هذا المنشور ، نناقش كيفية تنفيذ حل تلقائي للتنبؤ بالسلسلة الزمنية باستخدام ندفة الثلج والتنبؤ.

خدمات AWS الأساسية التي تمكّن هذا الحل

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

وظائف خطوة AWS يوفر آلية تنسيق عملية تدير سير العمل الكلي. تضم الخدمة مكالمات API مع أمازون أثينا, AWS لامدا، و Forecast لإنشاء حل آلي يجمع البيانات من Snowflake ، ويستخدم التنبؤ لتحويل البيانات التاريخية إلى تنبؤات مستقبلية ، ثم ينشئ البيانات داخل Snowflake.

يمكن أن تتصل استعلامات أثينا الموحدة بالعديد من مصادر بيانات المؤسسة ، بما في ذلك الأمازون DynamoDB, الأمازون الأحمر, خدمة Amazon OpenSearchو MySQL و PostgreSQL و Redis وغيرها من مخازن بيانات الطرف الثالث الشهيرة ، مثل Snowflake. تعمل موصلات البيانات كوظائف Lambda - يمكنك استخدام كود المصدر هذا للمساعدة في تشغيل ملف موصل Amazon Athena Lambda Snowflake والتواصل مع AWS الرابط الخاص أو من خلال بوابة NAT.

حل نظرة عامة

من الأشياء التي نقوم بها غالبًا في AWS العمل على مساعدة العملاء على تحقيق أهدافهم مع إزالة عبء الرفع الثقيل غير المتمايز. مع وضع هذا في الاعتبار ، نقترح ما يلي حل لمساعدة عملاء AWS و Snowflake في تنفيذ الخطوات التالية:

  1. تصدير البيانات من ندفة الثلج. يمكنك استخدام البيانات الوصفية المرنة لتفريغ البيانات التاريخية الضرورية التي يقودها سير عمل جاهز للاستخدام.
  2. استيراد البيانات إلى التوقعات. بغض النظر عن حالة الاستخدام أو الصناعة أو النطاق ، فإن استيراد مدخلات البيانات المعدة أمر سهل وآلي.
  3. تدريب نموذج السلاسل الزمنية المتطور. يمكنك أتمتة التنبؤ بالسلاسل الزمنية دون إدارة علم البيانات الأساسي أو توفير الأجهزة.
  4. توليد الاستدلال مقابل النموذج المدرب. من السهل استهلاك النواتج الناتجة عن التنبؤ لأي غرض. إنها متوفرة كملفات CSV أو باركيه بسيطة خدمة تخزين أمازون البسيطة (أمازون S3).
  5. استخدم التاريخ والتنبؤات المستقبلية جنبًا إلى جنب مباشرة في Snowflake.

يوضح الرسم البياني التالي كيفية تنفيذ سير عمل آلي يمكّن عملاء Snowflake من الاستفادة من تنبؤات السلاسل الزمنية عالية الدقة التي تدعمها Forecast ، وهي خدمة تديرها AWS. يتجاوز التصميم المقدم هنا حالة الاستخدام والصناعة ، حيث يستخرج أولاً البيانات التاريخية من Snowflake. بعد ذلك ، يرسل سير العمل البيانات المعدة لحساب السلاسل الزمنية. أخيرًا ، تتوفر تنبؤات الفترة المستقبلية أصلاً في Snowflake ، مما يخلق تجربة مستخدم سلسة لعملاء AWS و Snowflake المشتركين.

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

استخراج البيانات التاريخية من ندفة الثلج

في هذه الخطوة الأولى ، يمكنك استخدام SQL لتحديد البيانات التي تريد توقعها والسماح لـ Athena Federated Query بالاتصال بـ Snowflake وتشغيل SQL المخصص الخاص بك والاستمرار في تعيين السجل الناتج على Amazon S3. تتطلب التنبؤ بيانات التدريب السابقة لتكون متاحة على Amazon S3 قبل الابتلاع ؛ لذلك ، تعمل Amazon S3 كمخزن مؤقت بين Snowflake و Forecast. نحن نعرض أثينا في هذا التصميم لتمكين Snowflake ومصادر البيانات غير المتجانسة الأخرى. إذا كنت تفضل ذلك ، فهناك طريقة أخرى تستخدم الأمر Snowflake COPY وتكامل التخزين لكتابة نتائج الاستعلام إلى Amazon S3.

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

توضح لقطة الشاشة التالية الشكل الذي قد تبدو عليه مجموعة البيانات في مخطط Snowflake الأصلي.

قم بأتمتة التنبؤ بالسلسلة الزمنية الخاصة بك في Snowflake باستخدام Amazon Forecast PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

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

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

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

نبدأ باستعلام السلسلة الزمنية المستهدفة:

select LOCATION_ID, ITEM_ID, 
DATE_DEMAND as TIMESTAMP, QTY_DEMAND as TARGET_VALUE 
from DEMO.FOOD_DEMAND

يسحب استعلام السلسلة الزمنية الاختياري ذي الصلة المتغيرات المشتركة مثل السعر والترويج:

select LOCATION_ID,ITEM_ID, DATE_DEMAND as TIMESTAMP,
CHECKOUT_PRICE, BASE_PRICE,
EMAILER_FOR_PROMOTION, HOMEPAGE_FEATURED
from DEMO.FOOD_DEMAND

يجلب استعلام بيانات تعريف العنصر قيمًا فئوية مميزة تساعد في إعطاء بُعد وتحديد العنصر المتوقع بشكل أكبر:

select DISTINCT ITEM_ID, FOOD_CATEGORY, FOOD_CUISINE
from DEMO.FOOD_DEMAND

مع تحديد استعلامات المصدر ، يمكننا الاتصال بـ Snowflake من خلال استعلام أثينا الموحد لإرسال الاستعلامات واستمرار مجموعات البيانات الناتجة للتنبؤ باستخدام. لمزيد من المعلومات ، يرجى الرجوع إلى استعلم عن Snowflake باستخدام استعلام Athena الموحد وانضم إلى البيانات في بحيرة بيانات Amazon S3.

أثينا ندفة الثلج موصل جيثب الريبو يساعد في تثبيت موصل ندفة الثلج. ال توقعات MLOps GitHub repo يساعد في تنسيق جميع خطوات الماكرو المحددة في هذا المنشور ، ويجعلها قابلة للتكرار دون كتابة تعليمات برمجية.

استيراد البيانات إلى التوقعات

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

قم بإنشاء نموذج ML لسلاسل زمنية مع إحصائيات دقيقة

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

قم بأتمتة التنبؤ بالسلسلة الزمنية الخاصة بك في Snowflake باستخدام Amazon Forecast PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

قم بإنشاء تنبؤات مستقبلية

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

استخدم بيانات التنبؤ المؤرخة في المستقبل مباشرة في Snowflake

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

يوضح مقتطف الشفرة التالي كيفية الاستعلام عن بيانات Amazon S3 مباشرة من داخل Snowflake:

CREATE or REPLACE FILE FORMAT mycsvformat
type = 'CSV'
field_delimiter = ','
empty_field_as_null = TRUE
ESCAPE_UNENCLOSED_FIELD = None
skip_header = 1;

CREATE or REPLACE STORAGE INTEGRATION amazon_forecast_integration
TYPE = EXTERNAL_STAGE
STORAGE_PROVIDER = S3
STORAGE_AWS_ROLE_ARN = 'arn:aws:iam::nnnnnnnnnn:role/snowflake-forecast-poc-role'
ENABLED = true
STORAGE_ALLOWED_LOCATIONS = (
's3://bucket/folder/forecast',
's3://bucket/folder/backtest-export/accuracy-metrics-values',
's3://bucket/folder/backtest-export/forecasted-values';

CREATE or REPLACE STAGE backtest_accuracy_metrics
storage_integration = amazon_forecast_integration
url = 's3://bucket/folder/backtest-export/accuracy-metrics-values'
file_format = mycsvformat;

CREATE or REPLACE EXTERNAL TABLE FOOD_DEMAND_BACKTEST_ACCURACY_METRICS (
ITEM_ID varchar AS (value:c1::varchar),
LOCATION_ID varchar AS (value:c2::varchar),
backtest_window varchar AS (value:c3::varchar),
backtestwindow_start_time varchar AS (value:c4::varchar),
backtestwindow_end_time varchar AS (value:c5::varchar),
wQL_10 varchar AS (value:c6::varchar),
wQL_30 varchar AS (value:c7::varchar),
wQL_50 varchar AS (value:c8::varchar),
wQL_70 varchar AS (value:c9::varchar),
wQL_90 varchar AS (value:c10::varchar),
AVG_wQL varchar AS (value:c11::varchar),
RMSE varchar AS (value:c12::varchar),
WAPE varchar AS (value:c13::varchar),
MAPE varchar AS (value:c14::varchar),
MASE varchar AS (value:c15::varchar)
)
with location = @backtest_accuracy_metrics
FILE_FORMAT = (TYPE = CSV FIELD_DELIMITER = ',' SKIP_HEADER = 1);

لمزيد من المعلومات حول إعداد الأذونات ، ارجع إلى الخيار 1: تكوين تكامل تخزين ندفة الثلج للوصول إلى Amazon S3. بالإضافة إلى ذلك ، يمكنك استخدام ملف كتالوج خدمة AWS لتكوين تكامل تخزين Amazon S3 ؛ يتوفر المزيد من المعلومات على جيثب ريبو.

بدء سير عمل قائم على الجدول الزمني أو المستند إلى الحدث

بعد تثبيت حل لأعباء العمل الخاصة بك ، فإن خطوتك الأخيرة هي أتمتة العملية وفقًا لجدول زمني يتناسب مع متطلباتك الفريدة ، مثل اليومية أو الأسبوعية. الشيء الرئيسي هو تحديد كيفية بدء العملية. إحدى الطرق هي استخدام Snowflake لاستدعاء آلة حالة Step Functions ثم تنظيم الخطوات بشكل متسلسل. هناك طريقة أخرى تتمثل في ربط آلات الحالة ببعضها البعض وبدء التشغيل الكلي من خلال ملف أمازون إيفينت بريدج التي يمكنك تكوينها للتشغيل من حدث أو مهمة مجدولة — على سبيل المثال ، الساعة 9:00 مساءً بتوقيت جرينتش -8 كل ليلة أحد.

وفي الختام

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

إذا كنت مستعدًا لأتمتة وتحسين التنبؤ ، فنحن هنا لمساعدتك في رحلتك. اتصل بفريق حساب AWS أو Snowflake لتبدأ اليوم واطلب ورشة عمل للتنبؤ لمعرفة نوع القيمة التي يمكنك تحريرها من بياناتك.


حول المؤلف

قم بأتمتة التنبؤ بالسلسلة الزمنية الخاصة بك في Snowflake باستخدام Amazon Forecast PlatoBlockchain Data Intelligence. البحث العمودي. عاي.بوسكو البوكيرك هو مهندس حلول شريك كبير في AWS ولديه أكثر من 20 عامًا من الخبرة في العمل مع منتجات قواعد البيانات والتحليلات من بائعي قواعد بيانات المؤسسة وموفري السحابة. لقد ساعد شركات التكنولوجيا في تصميم وتنفيذ حلول ومنتجات تحليلات البيانات.

قم بأتمتة التنبؤ بالسلسلة الزمنية الخاصة بك في Snowflake باستخدام Amazon Forecast PlatoBlockchain Data Intelligence. البحث العمودي. عاي.فرانك داليزوت هو مهندس حلول كبير في AWS وهو متحمس للعمل مع بائعي البرامج المستقلين لتصميم وبناء تطبيقات قابلة للتطوير على AWS. لديه خبرة في إنشاء البرامج وتنفيذ خطوط البناء ونشر هذه الحلول في السحابة.

قم بأتمتة التنبؤ بالسلسلة الزمنية الخاصة بك في Snowflake باستخدام Amazon Forecast PlatoBlockchain Data Intelligence. البحث العمودي. عاي.أندريس إنجلبريخت هو مهندس حلول شريك رئيسي في Snowflake ويعمل مع شركاء استراتيجيين. يشارك بنشاط مع شركاء استراتيجيين مثل AWS الذي يدعم تكامل المنتجات والخدمات بالإضافة إلى تطوير حلول مشتركة مع الشركاء. يتمتع Andries بخبرة تزيد عن 20 عامًا في مجال البيانات والتحليلات.

قم بأتمتة التنبؤ بالسلسلة الزمنية الخاصة بك في Snowflake باستخدام Amazon Forecast PlatoBlockchain Data Intelligence. البحث العمودي. عاي.تشارلز لافلين هو مهندس حلول متخصص في الذكاء الاصطناعي / التعلم الآلي ويعمل ضمن فريق Time Series ML في AWS. يساعد في تشكيل خارطة طريق خدمة Amazon Forecast ويتعاون يوميًا مع عملاء AWS المتنوعين للمساعدة في تحويل أعمالهم باستخدام تقنيات AWS المتطورة والقيادة الفكرية. يحمل تشارلز شهادة الماجستير في إدارة سلسلة التوريد وأمضى العقد الماضي في العمل في صناعة السلع الاستهلاكية المعبأة.

قم بأتمتة التنبؤ بالسلسلة الزمنية الخاصة بك في Snowflake باستخدام Amazon Forecast PlatoBlockchain Data Intelligence. البحث العمودي. عاي.جيمس صن هو مهندس حلول شريك أول في Snowflake. يتمتع جيمس بخبرة تزيد عن 20 عامًا في مجال التخزين وتحليلات البيانات. قبل Snowflake ، شغل العديد من المناصب الفنية العليا في AWS و MapR. جيمس حاصل على درجة الدكتوراه من جامعة ستانفورد.

الطابع الزمني:

اكثر من التعلم الآلي من AWS