בדף הזה מפורט מידע על הפרמטרים שמשמשים לאימון מודלים של תחזיות. מידע על אימון מודל לחיזוי זמין במאמרים אימון מודל לחיזוי ואימון מודל באמצעות Tabular Workflow for Forecasting.
שיטות לאימון מודלים
בוחרים אחת מהשיטות הבאות לאימון המודל:
Time series Dense Encoder (TiDE): מודל מקודד-מפענח מבוסס DNN צפוף שעבר אופטימיזציה. איכות מודל גבוהה עם אימון והסקת מסקנות מהירים, במיוחד בהקשרים ארוכים ובאופקים רחבים. מידע נוסף
Temporal Fusion Transformer (TFT): מודל DNN מבוסס-תשומת לב שנועד להפיק תחזיות מדויקות וניתנות לפירוש על ידי התאמת המודל למשימת התחזית הכללית לטווח ארוך. מידע נוסף
AutoML (L2L): בחירה טובה למגוון רחב של תרחישי שימוש. מידע נוסף
Seq2Seq+: בחירה טובה לניסויים. האלגוריתם צפוי להתכנס מהר יותר מ-AutoML כי הארכיטקטורה שלו פשוטה יותר והוא משתמש במרחב חיפוש קטן יותר. הניסויים שלנו מראים ש-Seq2Seq+ פועל היטב עם תקציב זמן קטן ועם מערכי נתונים קטנים מ-1 GB.
סוג התכונה והזמינות שלה בתחזית
לכל עמודה שמשמשת לאימון מודל לחיזוי צריך להיות סוג: מאפיין או משתנה מסביר. בנוסף, משתני הרקע מסווגים כזמינים או כלא זמינים בזמן התחזית.
| סוג הסדרה | זמין בזמן התחזית | תיאור | דוגמאות | שדות API |
|---|---|---|---|---|
| מאפיין | יש גישה | מאפיין הוא תכונה סטטית שלא משתנה עם הזמן. | צבע הפריט, תיאור המוצר. | time_series_attribute_columns |
| משתנה מסביר | יש גישה |
משתנה חיצוני שצפוי להשתנות לאורך זמן. משתנה מסביר (covariate) שזמין בזמן התחזית הוא אינדיקטור מוביל. צריך לספק נתוני הסקה לעמודה הזו לכל נקודה באופק התחזית. |
חגים, מבצעים או אירועים מתוכננים. | available_at_forecast_columns |
| משתנה מסביר | לא זמין | משתנה מסביר לא זמין בזמן התחזית. כשיוצרים תחזית, לא צריך לציין ערכים לתכונות האלה. | מזג האוויר בפועל. | unavailable_at_forecast_columns |
מידע נוסף על הקשר בין זמינות התכונות לבין טווח התחזית, חלון ההקשר וחלון התחזית
אופק החיזוי, חלון ההקשר וחלון החיזוי
תכונות החיזוי הן מאפיינים סטטיים או משתנים תלוים שמשתנים עם הזמן. סוג התכונה והזמינות בתחזית
כשמאמנים מודל חיזוי, צריך לציין אילו נתונים של משתנים מסבירים חשובים ביותר ללכידה. הנתון הזה מוצג בצורה של חלון תחזית, שהוא סדרה של שורות שכוללות את הנתונים הבאים:
- ההקשר או הנתונים ההיסטוריים, עד למועד ההסקה.
- האופק או השורות שמשמשים להסקת מסקנות.
ביחד, השורות בחלון מגדירות מופע של סדרת זמן שמשמש כקלט למודל: זה מה ש-Vertex AI מאמן, מעריך ומשתמש בו להסקת מסקנות. השורה שמשמשת ליצירת החלון היא השורה הראשונה של האופק, והיא מזהה באופן ייחודי את החלון בסדרת הזמן.
אופק התחזית קובע עד כמה רחוק בעתיד המודל חוזה את ערך היעד לכל שורה של נתוני הסקה.
חלון ההקשר קובע עד כמה אחורה המודל מסתכל במהלך האימון (וגם לצורך תחזיות). במילים אחרות, לגבי כל נקודת נתונים לאימון, חלון ההקשר קובע עד כמה המודל יחזור אחורה כדי לחפש דפוסים לחיזוי. כאן אפשר לקרוא על שיטות מומלצות למציאת ערך טוב לחלון ההקשר.
לדוגמה, אם חלון ההקשר = 14 וטווח התחזית = 7, כל דוגמה של חלון תכלול 14 + 7 = 21 שורות.
זמינות בתחזית
אפשר לחלק את המשתנים המשפיעים על התחזית למשתנים שזמינים בזמן התחזית ולמשתנים שלא זמינים בזמן התחזית.
כשמדובר במשתנים מסביבתיים שזמינים בזמן התחזית, Vertex AI לוקח בחשבון את ערכי המשתנים המסביבתיים גם מחלון ההקשר וגם מאופק התחזית לצורך אימון, הערכה והסקת מסקנות. כשמטפלים במשתנים מסביבתיים שלא זמינים בזמן התחזית, Vertex AI מתחשב בערכי המשתנים המסביבתיים מחלון ההקשר, אבל לא כולל במפורש ערכי משתנים מסביבתיים מאופק התחזית.
שיטות חלון נע
Vertex AI יוצרת חלונות של תחזיות מנתוני הקלט באמצעות אסטרטגיה של חלון נע. שיטת ברירת המחדל היא ספירה.
- מספר יחידות.
מספר החלונות שנוצרו על ידי Vertex AI לא יכול לחרוג מהמספר המקסימלי שצוין על ידי המשתמש. אם מספר השורות במערך נתוני הקלט קטן ממספר החלונות המקסימלי, כל שורה משמשת ליצירת חלון.
אחרת, Vertex AI מבצע דגימה אקראית כדי לבחור את השורות.
ערך ברירת המחדל של המספר המקסימלי של חלונות הוא
100,000,000. מספר החלונות המקסימלי לא יכול לעלות על100,000,000. - Stride.
Vertex AI משתמש בשורה אחת מכל X שורות קלט כדי ליצור חלון, עד למקסימום של 100,000,000 חלונות. האפשרות הזו שימושית להסקת מסקנות עונתית או תקופתית. לדוגמה, אפשר להגביל את התחזיות ליום אחד בשבוע על ידי הגדרת הערך
7לאורך הפסיעה. הערך יכול להיות בין1ל-1000. - עמודה.
אתם יכולים להוסיף עמודה לנתוני הקלט שבה הערכים הם
TrueאוFalse. Vertex AI יוצר חלון לכל שורת קלט שבה הערך של העמודה הואTrue. אפשר להגדיר את הערכיםTrueו-Falseבכל סדר, כל עוד המספר הכולל של השורותTrueקטן מ-100,000,000. מומלץ להשתמש בערכים בוליאניים, אבל אפשר להשתמש גם בערכי מחרוזת. ערכי מחרוזת לא תלויי-רישיות.
אם יוצרים פחות חלונות מהערך שמוגדר כברירת מחדל 100,000,000, אפשר לקצר את הזמן שנדרש לעיבוד המקדים ולהערכת המודל. בנוסף, דילול של חלונות מאפשר לכם לשלוט טוב יותר בחלוקה של חלונות שמוצגים במהלך האימון.
אם משתמשים בה נכון, היא יכולה לשפר את התוצאות ולהפוך אותן לעקביות יותר.
איך משתמשים בחלון ההקשר ובאופק התחזית במהלך האימון והתחזיות
נניח שיש לכם נתונים שנאספים מדי חודש, עם חלון הקשר של 5 חודשים ואופק תחזית של 5 חודשים. אימון המודל עם נתונים של 12 חודשים יניב את קבוצות התשומות והתחזיות הבאות:
[1-5]:[6-10][2-6]:[7-11][3-7]:[8-12]
אחרי האימון, אפשר להשתמש במודל כדי לחזות את החודשים 13 עד 17:
[8-12]:[13-17]
כדי ליצור את התחזית, המודל משתמש רק בנתונים שנכללים בחלון ההקשר. המערכת מתעלמת מכל נתון שאתם מספקים שנמצא מחוץ לחלון ההקשר.
אחרי איסוף הנתונים בחודש ה-13, אפשר להשתמש בהם כדי לחזות את הביצועים עד חודש 18:
[9-13]:[14-18]
אפשר להמשיך להשתמש בשיטה הזו בעתיד, כל עוד התוצאות טובות. בסופו של דבר, תוכלו לאמן מחדש את המודל עם הנתונים החדשים. לדוגמה, אם אימנתם מחדש את המודל אחרי שהוספתם נתונים מ-6 חודשים נוספים, נתוני האימון ישמשו באופן הבא:
[2-6]:[7-11][3-7]:[8-12][4-8]:[9-13][5-9]:[10-14][6-10]:[11-15][7-11]:[12-16][8-12]:[13-17][9-13]:[14-18]
לאחר מכן, תוכלו להשתמש במודל כדי לחזות את החודשים 19 עד 23:
[14-18]:[19-23]
יעדי אופטימיזציה למודלים של תחזיות
כשמאמנים מודל, מערכת Vertex AI בוחרת יעד אופטימיזציה שמוגדר כברירת מחדל על סמך סוג המודל וסוג הנתונים שמשמשים לעמודת היעד. בטבלה הבאה מפורטים כמה פרטים על בעיות שהמודלים לחיזוי מתאימים להן במיוחד:
| יעד האופטימיזציה | ערך API | כדאי להשתמש ביעד הזה אם רוצים… |
|---|---|---|
| RMSE | minimize-rmse |
ממזערים את שורש הטעות הריבועית הממוצעת (RMSE). המודל הזה מתעד ערכים קיצוניים בצורה מדויקת יותר, והוא פחות מוטה כשמצטברים בו נתונים. ערך ברירת המחדל. |
| MAE | minimize-mae |
ממזערים את השגיאה הממוצעת המוחלטת (MAE). המודל מתייחס לערכים קיצוניים כאל חריגים עם השפעה נמוכה יותר. |
| RMSLE | minimize-rmsle |
מזעור שורש טעות ריבועית ממוצעת של לוגריתם (RMSLE). העונש ניתן על שגיאה בגודל יחסי ולא על שגיאה בערך מוחלט. המדד הזה שימושי כשגם הערכים הצפויים וגם הערכים בפועל יכולים להיות גדולים. |
| RMSPE | minimize-rmspe |
מזעור שורש טעות ריבועית ממוצעת באחוזים (RMSPE). מציג טווח רחב של ערכים בצורה מדויקת. דומה ל-RMSE, אבל ביחס לגודל היעד. השימוש בפרמטר הזה מועיל כשיש טווח גדול של ערכים. |
| WAPE | minimize-wape-mae |
מזעור השילוב של שגיאת אחוזים מוחלטת משוקללת (WAPE) ושגיאה מוחלטת ממוצעת (MAE). הפרמטר הזה שימושי כשהערכים בפועל נמוכים. |
| Quantile loss | minimize-quantile-loss |
ממזערים את הפסד הפינבול המשוקלל של הכמויות שהוגדרו כדי לכמת את אי-הוודאות בהערכות. הסקת מסקנות על סמך חלוקה לעשירונים מאפשרת לכמת את אי-הוודאות של המסקנות. הם מודדים את הסבירות לכך שהסקת מסקנות תהיה בטווח מסוים. |
אזורים עם חגים
במקרים מסוימים, נתוני התחזיות עשויים להציג התנהגות לא סדירה בימים שחלים על חגים אזוריים. אם רוצים שהמודל יביא בחשבון את ההשפעה הזו, צריך לבחור את האזור הגיאוגרפי או האזורים הגיאוגרפיים שתואמים לנתוני הקלט. במהלך האימון, מערכת Vertex AI יוצרת תכונות קטגוריות של חגים במודל על סמך התאריך מעמודת הזמן והאזורים הגיאוגרפיים שצוינו.
הקטע הבא הוא קטע מתוך רשימת התאריכים והמאפיינים הקטגוריים של החגים בארצות הברית. חשוב לדעת שתכונה קטגורית מוקצית לתאריך הראשי, ליום אחד או יותר לפני החג וליום אחד או יותר אחרי החג. לדוגמה, התאריך העיקרי של יום האם בארה"ב בשנת 2013 היה 12 במאי. התכונות של יום האם מוקצות לתאריך הראשי, לשישה ימים שלפני החג וליום אחד אחרי החג.
| תאריך | תכונה קטגורית לחגים |
|---|---|
| 2013-05-06 | MothersDay |
| 2013-05-07 | MothersDay |
| 2013-05-08 | MothersDay |
| 2013-05-09 | MothersDay |
| 2013-05-10 | MothersDay |
| 2013-05-11 | MothersDay |
| 2013-05-12 | MothersDay |
| 2013-05-13 | MothersDay |
| 2013-05-26 | US_MemorialDay |
| 2013-05-27 | US_MemorialDay |
| 2013-05-28 | US_MemorialDay |
הערכים הקבילים לאזורים שבהם חלים חגים כוללים את האפשרויות הבאות:
-
GLOBAL: מזהה חגים בכל האזורים בעולם. -
NA: מזהה חגים בצפון אמריקה. -
JAPAC: מזהה חגים ביפן ובאזור אסיה והאוקיינוס השקט. -
EMEA: מזהה חגים באירופה, במזרח התיכון ובאפריקה. -
LAC: מזהה חגים באמריקה הלטינית ובאיים הקריביים. - קודי מדינות לפי תקן ISO 3166-1: המערכת מזהה חגים במדינות ספציפיות.
כדי לראות את הרשימה המלאה של תאריכי החגים בכל אזור גיאוגרפי, אפשר לעיין בטבלה holidays_and_events_for_forecasting ב-BigQuery. כדי לפתוח את הטבלה הזו דרך מסוף Google Cloud :
-
במסוף Google Cloud , בקטע BigQuery, עוברים לדף BigQuery Studio.
- בחלונית Explorer, פותחים את הפרויקט
bigquery-public-data. אם אתם לא מוצאים את הפרויקט הזה או רוצים לקבל מידע נוסף, אפשר לעיין במאמר בנושא פתיחת מערך נתונים ציבורי. - פותחים את מערך הנתונים
ml_datasets. - פותחים את הטבלה
holidays_and_events_for_forecasting.
הקטע הבא הוא קטע מתוך הטבלה holidays_and_events_for_forecasting: