אוטומציה של חיזוי סדרות הזמן שלך ב- Snowflake באמצעות Amazon Forecast PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

אוטומציה של חיזוי סדרות הזמן שלך ב- Snowflake באמצעות Amazon Forecast

הפוסט הזה הוא שיתוף פעולה משותף עם אנדריס אנגלברכט וג'יימס סאן מ-Snowflake, Inc.

מהפכת מחשוב הענן אפשרה לעסקים ללכוד ולשמור נתונים ארגוניים וארגוניים ללא תכנון קיבולת או אילוצי שמירת נתונים. כעת, עם עתודות מגוונות ועצומות של נתונים אורכיים, חברות מצליחות יותר ויותר למצוא דרכים חדשות ומשפיעות להשתמש בנכסיהן הדיגיטליים כדי לקבל החלטות טובות יותר ומושכלות בעת קבלת החלטות תכנון לטווח קצר ולטווח ארוך. חיזוי סדרות זמן הוא מדע ייחודי וחיוני המאפשר לחברות לקבל החלטות תכנון ניתוחיות כדי לסייע באיזון רמות שירות הלקוחות מול יעדים מתחרים לעתים קרובות של רווחיות מיטבית.

ב-AWS, אנו עובדים לפעמים עם לקוחות שבחרו בשותף הטכנולוגי שלנו פְּתִית שֶׁלֶג לספק חוויית פלטפורמת נתונים בענן. יש פלטפורמה שיכולה לזכור שנים על גבי שנים של נתונים היסטוריים היא רבת עוצמה - אבל איך אתה יכול להשתמש בנתונים האלה כדי להסתכל קדימה ולהשתמש בראיות של אתמול כדי לתכנן את המחר? תאר לעצמך לא רק את מה שקרה זמין ב- Snowflake - הגרסה היחידה שלך לאמת - אלא גם קבוצה סמוכה של נתונים לא מכוסים שמציעה תחזית הסתברותית לימים, שבועות או חודשים לעתיד.

בשרשרת אספקה ​​שיתופית, שיתוף מידע בין שותפים יכול לשפר ביצועים, להגביר את התחרותיות ולהפחית משאבים מבוזבזים. ניתן להקל על שיתוף התחזיות העתידיות שלך שיתוף נתונים של פתית שלג, המאפשר לך לשתף פעולה בצורה חלקה עם השותפים העסקיים שלך בצורה מאובטחת ולזהות תובנות עסקיות. אם שותפים רבים חולקים את התחזיות שלהם, זה יכול לעזור לשלוט באפקט הבולשוט בשרשרת האספקה ​​המחוברת. אתה יכול להשתמש ביעילות Snowflake Marketplace כדי לייצר רווחים מהניתוח החזוי שלך ממערכי נתונים שהופקו ב תחזית אמזון.

בפוסט זה, אנו דנים כיצד ליישם פתרון חיזוי אוטומטי של סדרות זמן באמצעות Snowflake ו-Forecast.

שירותי AWS חיוניים המאפשרים פתרון זה

Forecast מספקת מספר אלגוריתמים עדכניים של סדרות זמן ומנהלת את הקצאת מספיק קיבולת מחשוב מבוזרת כדי לענות על הצרכים של כמעט כל עומס עבודה. עם Forecast, אתה לא מקבל דגם אחד; אתה מקבל את החוזק של דגמים רבים שעברו אופטימיזציה נוספת למודל משוקלל ייחודי עבור כל סדרת זמן בסט. בקיצור, השירות מספק את כל המדע, הטיפול בנתונים וניהול המשאבים בקריאת API פשוטה.

פונקציות שלב AWS מספק מנגנון תזמור תהליכי המנהל את זרימת העבודה הכוללת. השירות מקפל קריאות API עם אמזונה אתנה, AWS למבדה, ו-Forecast ליצירת פתרון אוטומטי הקוצר נתונים מ- Snowflake, משתמש ב-Forecast כדי להמיר נתונים היסטוריים לתחזיות עתידיות, ולאחר מכן יוצר את הנתונים בתוך Snowflake.

שאילתות מאוחדות של Athena יכולות להתחבר למספר מקורות נתונים ארגוניים, כולל אמזון דינמו, האדום של אמזון, שירות חיפוש פתוח של אמזון, MySQL, PostgreSQL, Redis וחנויות נתונים פופולריות אחרות של צד שלישי, כגון Snowflake. מחברי נתונים פועלים כפונקציות Lambda - אתה יכול להשתמש בקוד המקור הזה כדי לעזור להפעיל את מחבר אמזון אתנה למבדה פתית שלג ולהתחבר עם AWS PrivateLink או דרך שער NAT.

סקירת פתרונות

אחד הדברים שאנו עושים לעתים קרובות ב-AWS הוא עבודה כדי לעזור ללקוחות לממש את המטרות שלהם תוך הסרת הנטל של ההרמה הכבדה הבלתי מובחנת. לאור זאת, אנו מציעים את הדברים הבאים פִּתָרוֹן כדי לסייע ללקוחות AWS ו- Snowflake לבצע את השלבים הבאים:

  1. ייצא נתונים מ- Snowflake. אתה יכול להשתמש במטא נתונים גמישים כדי לפרוק את הנתונים ההיסטוריים הדרושים המונעים על ידי זרימת עבודה מוכנה לפעולה.
  2. ייבא נתונים לתוך Forecast. לא משנה מקרה השימוש, התעשייה או ההיקף, ייבוא ​​קלט נתונים מוכן הוא קל ואוטומטי.
  3. אימון דגם סדרת זמן חדיש. אתה יכול להפוך חיזוי סדרות זמן לאוטומטי מבלי לנהל את מדעי הנתונים הבסיסיים או אספקת החומרה.
  4. צור מסקנות נגד המודל המאומן. קל לצרוך תפוקות המופקות בתחזית לכל מטרה. הם זמינים כקובצי CSV או פרקט פשוטים שירות אחסון פשוט של אמזון (אמזון S3).
  5. השתמש בהיסטוריה ובתחזיות עתידיות זו לצד זו ישירות ב- Snowflake.

התרשים הבא ממחיש כיצד ליישם זרימת עבודה אוטומטית המאפשרת ללקוחות Snowflake ליהנות מחיזוי סדרות זמן מדויקות ביותר הנתמכות על ידי Forecast, שירות מנוהל AWS. מעבר למקרה שימוש ותעשייה, העיצוב המוצע כאן מחלץ לראשונה נתונים היסטוריים מ- Snowflake. לאחר מכן, זרימת העבודה מגישה את הנתונים המוכנים לחישוב סדרות זמן. לבסוף, תחזיות לתקופות עתידיות זמינות באופן מקורי ב- Snowflake, מה שיוצר חווית משתמש חלקה עבור לקוחות AWS ו- Snowflake משותפים.

למרות שהארכיטקטורה הזו מדגישה רק את הפרטים הטכניים העיקריים, הפתרון פשוט להרכיב, לפעמים תוך 1-2 ימי עסקים. אנו מספקים לך קוד דוגמה עובד כדי לעזור להסיר את ההרמה הכבדה הבלתי מובנת של יצירת הפתרון לבד וללא התחלה. לאחר שתגלה כיצד ליישם את הדפוס הזה עבור עומס עבודה אחד, תוכל לחזור על תהליך החיזוי עבור כל הנתונים המוחזקים ב- Snowflake. בסעיפים הבאים, אנו מתארים את השלבים העיקריים המאפשרים לך לבנות צינור אוטומטי.

חלץ נתונים היסטוריים מ- Snowflake

בשלב הראשון הזה, אתה משתמש ב-SQL כדי להגדיר אילו נתונים אתה רוצה לחזוי ולתת לשאילתת Athena Federated להתחבר ל-Snowflake, להריץ את ה-SQL המותאם אישית שלך ולהתמיד ברשומה שנוצרה ב-Amazon S3. תחזית דורשת שנתוני אימון היסטוריים יהיו זמינים ב-Amazon S3 לפני הטמעה; לכן, Amazon S3 משמש כמאגר אחסון ביניים בין Snowflake ל-Forecast. אנו מציגים את Athena בעיצוב זה כדי לאפשר את Snowflake ומקורות נתונים הטרוגניים אחרים. אם אתה מעדיף, גישה אחרת היא שימוש בפקודת Snowflake COPY ושילוב אחסון כדי לכתוב תוצאות שאילתות לאמזון S3.

ללא קשר למנגנון התחבורה בו נעשה שימוש, כעת אנו מתארים את סוג הנתונים הנדרשים לתחזית וכיצד מוגדרים, מכינים ומחלצים נתונים. בסעיף שלאחר מכן, אנו מתארים כיצד לייבא נתונים לתוך Forecast.

צילום המסך הבא מתאר איך קבוצת נתונים עשויה להיראות בסכימת Snowflake המקורית שלה.

אוטומציה של חיזוי סדרות הזמן שלך ב- Snowflake באמצעות Amazon Forecast PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

למרות שצילום מסך זה מראה כיצד הנתונים נראים במצבם הטבעי, Forecast דורשת לעצב נתונים לשלושה מערכי נתונים שונים:

  • סדרת זמן יעד – זהו מערך נתונים נדרש המכיל את משתנה היעד ומשמש לאימון ולניבוי ערך עתידי. לבדו, מערך הנתונים הזה משמש כמודל סדרת זמן חד-משתנית.
  • סדרות זמן קשורות – זהו מערך נתונים אופציונלי המכיל משתנים זמניים שאמורים להיות בעלי קשר למשתנה היעד. דוגמאות כוללות תמחור משתנה, מאמצי קידום מכירות, תעבורת אירועים היפר-לוקאליים, נתוני תחזית כלכלית - כל מה שאתה מרגיש עשוי לעזור להסביר את השונות בסדרת הזמן של היעד ולהפיק תחזית טובה יותר. מערך הנתונים של סדרת הזמן הקשור הופך את המודל החד-משתני שלך לרב-משתני כדי לעזור לשפר את הדיוק.
  • מטא נתונים של פריט – זהו מערך נתונים אופציונלי המכיל נתונים קטגוריים על הפריט החזוי. מטא נתונים של פריטים עוזרים לעתים קרובות להגביר את הביצועים של מוצרים שהושקו לאחרונה, שאנו מכנים א התחלה קרה.

עם ההיקף של כל אחד ממערכי הנתונים של Forecast, אתה יכול לכתוב שאילתות ב-Snowflake שמקורן בשדות הנתונים הנכונים מטבלאות המקור הדרושות עם המסננים המתאימים כדי לקבל את תת-קבוצת הנתונים הרצויה. להלן שלוש שאילתות SQL לדוגמה המשמשות ליצירת כל מערך נתונים ש-Forecast צריך עבור תרחיש ספציפי של תכנון ביקוש למזון.

אנו מתחילים עם שאילתת סדרת זמן היעד:

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 דרך שאילתה פדרית של Athena כדי לשלוח את השאילתות ולהמשיך את מערכי הנתונים המתקבלים לשימוש בחיזוי. למידע נוסף, עיין ב בצע שאילתות של Snowflake באמצעות Athena Federated Query והצטרף לנתונים באגם הנתונים של Amazon S3 שלך.

השמיים Athena Snowflake Connector ריפו של GitHub עוזר להתקין את מחבר Snowflake. ה תחזית MLOps ריפו של GitHub עוזר לתזמר את כל שלבי המאקרו שהוגדרו בפוסט זה, והופך אותם לחזרה מבלי לכתוב קוד.

ייבא נתונים לתוך Forecast

לאחר שנשלים את השלב הקודם, מערך יעד של סדרת זמן נמצא באמזון S3 ומוכן לייבוא ​​לתוך Forecast. בנוסף, ייתכן שגם מערכי הנתונים האופציונליים הקשורים לסדרות הזמן ומטא נתונים של פריטים יהיו מוכנים ומוכנים להטמעה. עם המסופק פתרון MLOps תחזית, כל מה שאתה צריך לעשות כאן הוא ליזום את מכונת המצב של Step Functions האחראית על ייבוא ​​נתונים - אין צורך בקוד. Forecast משיקה אשכול עבור כל אחד ממערכי הנתונים שסיפקת ומכינים את הנתונים לשימוש בשירות עבור בניית מודל ML והסקת מודל.

צור מודל ML של סדרת זמן עם סטטיסטיקות דיוק

לאחר ייבוא ​​הנתונים, נוצרים מודלים של סדרות זמן מדויקות ביותר פשוט על ידי קריאה ל-API. שלב זה מובלע בתוך מכונת מצב Step Functions אשר יוזמת את Forecast API כדי להתחיל אימון מודלים. לאחר הכשרה של מודל המנבא, מכונת המדינה מייצאת את הנתונים הסטטיסטיים והתחזיות של המודל במהלך חלון הבדיקה האחורית לאמזון S3. יצוא בדיקות אחורי ניתן לשאילתות על ידי Snowflake כשלב חיצוני, כפי שמוצג בצילום המסך הבא. אם תרצו, תוכלו לאחסן את הנתונים בשלב פנימי. הנקודה היא להשתמש במדדי הבדיקה האחורית כדי להעריך את התפשטות הביצועים של סדרות זמן במערך הנתונים שסופק.

אוטומציה של חיזוי סדרות הזמן שלך ב- Snowflake באמצעות Amazon Forecast PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

צור תחזיות עתידיות

עם המודל שהוכשר מהשלב הקודם, מכונת מצב Step Functions שנבנתה במיוחד קוראת ל-Forecast API כדי ליצור תחזיות מתוארכות לעתיד. תחזית מספקת אשכול לביצוע ההסקה ומושכת את סדרת זמן היעד המיובאת, סדרות זמן קשורות ומטא נתונים של פריטים באמצעות מודל מנבא בעל שם שנוצר בשלב הקודם. לאחר יצירת התחזיות, מכונת המצב כותבת אותן לאמזון S3, שם, שוב, ניתן לשאול אותן במקום כשלב חיצוני של Snowflake או להעביר אותם ל-Snowflake כשלב פנימי.

השתמש בנתוני החיזוי המתוארכים לעתיד ישירות ב- Snowflake

AWS לא בנתה פתרון אוטומטי לחלוטין לשלב זה; עם זאת, עם הפתרון בפוסט זה, נתונים כבר הופקו על ידי Forecast בשני השלבים הקודמים. אתה יכול להתייחס לתפוקות כאירועים ברי-פעולה או לבנות לוחות מחוונים של בינה עסקית על הנתונים. אתה יכול גם להשתמש בנתונים כדי ליצור תוכניות ייצור עתידיות והזמנות רכש, להעריך הכנסות עתידיות, לבנות תוכניות משאבי כוח אדם ועוד. כל מקרה שימוש שונה, אבל המטרה של שלב זה היא לספק את התחזיות למערכות הצריכה הנכונות בארגון שלך או מעבר לכך.

קטע הקוד הבא מראה כיצד לבצע שאילתות בנתוני 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: הגדרת שילוב אחסון Snowflake לגישה לאמזון S3. בנוסף, אתה יכול להשתמש ב- קטלוג השירות של AWS כדי להגדיר שילוב אחסון של Amazon S3; מידע נוסף זמין ב- GitHub ריפו.

התחל זרימת עבודה מבוססת לוח זמנים או אירועים

לאחר התקנת פתרון לעומס העבודה הספציפי שלך, השלב האחרון שלך הוא להפוך את התהליך לאוטומטי לפי לוח זמנים הגיוני לדרישה הייחודית שלך, כגון יומי או שבועי. העיקר הוא להחליט איך להתחיל את התהליך. שיטה אחת היא להשתמש ב- Snowflake כדי להפעיל את מכונת המצב של Step Functions ואז לתזמר את השלבים באופן סדרתי. גישה נוספת היא לשרשר מכונות מדינה ביחד ולהתחיל את הריצה הכוללת דרך א אמזון EventBridge כלל, שאתה יכול להגדיר להפעיל מאירוע או משימה מתוזמנת - לדוגמה, בשעה 9:00 GMT-8 בכל יום ראשון בלילה.

סיכום

עם הכי הרבה ניסיון; הענן האמין, הניתן להרחבה והמאובטח ביותר; ומערך השירותים והפתרונות המקיף ביותר, AWS הוא המקום הטוב ביותר לשחרר ערך מהנתונים שלך ולהפוך אותם לתובנה. בפוסט זה, הראינו לך כיצד ליצור זרימת עבודה אוטומטית של חיזוי סדרות זמן. חיזוי טוב יותר יכול להוביל לתוצאות גבוהות יותר של שירות לקוחות, פחות בזבוז, פחות מלאי סרק, ויותר מזומנים במאזן.

אם אתה מוכן לבצע אוטומציה ולשפר תחזיות, אנחנו כאן כדי לעזור לך לתמוך במסע שלך. צור קשר עם צוות חשבון AWS או Snowflake שלך ​​כדי להתחיל היום ולבקש סדנת חיזוי כדי לראות איזה סוג של ערך אתה יכול לפתוח מהנתונים שלך.


על הכותבים

אוטומציה של חיזוי סדרות הזמן שלך ב- Snowflake באמצעות Amazon Forecast PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.בוסקו אלבוקרקי הוא Sr. Partner Solutions Architect ב-AWS ובעל ניסיון של למעלה מ-20 שנה בעבודה עם מוצרי מסדי נתונים וניתוח של ספקי מסדי נתונים ארגוניים וספקי ענן. הוא עזר לחברות טכנולוגיה לתכנן ולהטמיע פתרונות ומוצרים לניתוח נתונים.

אוטומציה של חיזוי סדרות הזמן שלך ב- Snowflake באמצעות Amazon Forecast PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.פרנק דאלזוט הוא Sr. Solutions Architect ב-AWS ונלהב לעבוד עם ספקי תוכנה עצמאיים לתכנון ובניית יישומים ניתנים להרחבה ב-AWS. יש לו ניסיון ביצירת תוכנה, הטמעת צינורות בנייה ופריסה של פתרונות אלו בענן.

אוטומציה של חיזוי סדרות הזמן שלך ב- Snowflake באמצעות Amazon Forecast PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.אנדריס אנגלברכט הוא אדריכל פתרונות שותפים ראשיים ב- Snowflake ועובד עם שותפים אסטרטגיים. הוא מעורב באופן פעיל עם שותפים אסטרטגיים כמו AWS התומכים באינטגרציות של מוצרים ושירותים, כמו גם בפיתוח פתרונות משותפים עם שותפים. אנדריס בעל ניסיון של למעלה מ-20 שנה בתחום הנתונים והאנליטיקה.

אוטומציה של חיזוי סדרות הזמן שלך ב- Snowflake באמצעות Amazon Forecast PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.צ'ארלס לאגלין הוא אדריכל ראשי לפתרונות AI/ML ועובד בצוות Time Series ML ב-AWS. הוא עוזר לעצב את מפת הדרכים של שירות Amazon Forecast ומשתף פעולה מדי יום עם לקוחות AWS מגוונים כדי לעזור לשנות את העסקים שלהם באמצעות טכנולוגיות AWS מתקדמות ומנהיגות מחשבתית. צ'ארלס הוא בעל תואר שני בניהול שרשרת אספקה ​​ובילה את העשור האחרון בעבודה בתעשיית מוצרי צריכה ארוזים.

אוטומציה של חיזוי סדרות הזמן שלך ב- Snowflake באמצעות Amazon Forecast PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ג'יימס סאן הוא אדריכל פתרונות שותפים בכיר ב- Snowflake. לג'יימס יש למעלה מ-20 שנות ניסיון באחסון וניתוח נתונים. לפני Snowflake, הוא מילא כמה תפקידים טכניים בכירים ב-AWS וב-MapR. ג'יימס הוא בעל תואר דוקטור מאוניברסיטת סטנפורד.

בול זמן:

עוד מ למידת מכונות AWS