בדף הזה מפורט מידע על הפרמטרים שמשמשים לאימון מודלים של תחזיות. כדי ללמוד איך לאמן מודל תחזית, אפשר לעיין במאמרים אימון מודל תחזית ואימון מודל באמצעות 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 |
| משתנה מסביר | יש גישה |
משתנה חיצוני שצפוי להשתנות לאורך זמן. משתנה מסביר שזמין בזמן התחזית הוא אינדיקטור מוביל. צריך לספק נתוני הסקה לעמודה הזו לכל נקודה באופק התחזית. |
חגים, מבצעים או אירועים מתוכננים. | available_at_forecast_columns |
| משתנה מסביר | לא זמין | משתנה מסביר לא זמין בזמן התחזית. כשיוצרים תחזית, לא צריך לציין ערכים לתכונות האלה. | מזג האוויר בפועל. | unavailable_at_forecast_columns |
מידע נוסף על הקשר בין זמינות התכונות לבין טווח התחזית, חלון ההקשר וחלון התחזית
אופק החיזוי, חלון ההקשר וחלון החיזוי
תכונות החיזוי הן מאפיינים סטטיים או משתנים תלוים שמשתנים עם הזמן. סוג התכונה והזמינות בתחזית
כשמאמנים מודל חיזוי, צריך לציין אילו נתונים של משתנים מסבירים הכי חשובים ללכידה. הנתון הזה מוצג בצורה של חלון תחזית, שהוא סדרה של שורות שכוללות את הנתונים הבאים:
- ההקשר או הנתונים ההיסטוריים, עד למועד ההסקה.
- האופק או השורות שמשמשים להסקת מסקנות.
ביחד, השורות בחלון מגדירות מופע של סדרת זמנים שמשמש כקלט למודל: זה מה ש-Agent Platform מתאמן עליו, מעריך אותו ומשתמש בו להסקת מסקנות. השורה שמשמשת ליצירת החלון היא השורה הראשונה של האופק, והיא מזהה באופן ייחודי את החלון בסדרת הזמן.
אופק התחזית קובע עד כמה רחוק בעתיד המודל חוזה את ערך היעד לכל שורה של נתוני הסקה.
חלון ההקשר מגדיר עד כמה המודל חוזר אחורה בזמן במהלך האימון (ובמהלך התחזיות). במילים אחרות, לגבי כל נקודת נתונים לאימון, חלון ההקשר קובע עד כמה המודל יחזור אחורה כדי לחפש דפוסים לחיזוי. כאן אפשר לקרוא על שיטות מומלצות למציאת ערך טוב לחלון ההקשר.
לדוגמה, אם חלון ההקשר = 14 וטווח התחזית = 7, כל דוגמה של חלון תכלול 14 + 7 = 21 שורות.
זמינות בתחזית
אפשר לחלק את המשתנים המשולבים בתחזית למשתנים שזמינים בזמן התחזית ולמשתנים שלא זמינים בזמן התחזית.
כשמדובר במשתנים מסבירים שזמינים בזמן התחזית, Agent Platform מתחשבת בערכי המשתנים המסבירים גם מחלון ההקשר וגם מאופק התחזית לצורך אימון, הערכה והסקת מסקנות. כשמדובר במשתנים מסביבתיים שלא זמינים בזמן התחזית, Agent Platform מתחשב בערכי המשתנים המסביבתיים מחלון ההקשר, אבל לא כולל במפורש את ערכי המשתנים המסביבתיים מאופק התחזית.
שיטות חלון נע
Agent Platform יוצרת חלונות חיזוי מנתוני הקלט באמצעות אסטרטגיית חלון נע. שיטת ברירת המחדל היא ספירה.
- מספר יחידות.
מספר החלונות שנוצרים על ידי Agent Platform לא יכול לחרוג מהמספר המקסימלי שצוין על ידי המשתמש. אם מספר השורות במערך נתוני הקלט קטן ממספר החלונות המקסימלי, כל שורה משמשת ליצירת חלון.
אחרת, Agent Platform מבצע דגימה אקראית כדי לבחור את השורות.
ערך ברירת המחדל של המספר המקסימלי של חלונות הוא
100,000,000. המספר המקסימלי של חלונות לא יכול לעלות על100,000,000. - Stride.
Agent Platform משתמשת בשורה אחת מכל X שורות קלט כדי ליצור חלון, עד למקסימום של 100,000,000 חלונות. האפשרות הזו שימושית להסקת מסקנות עונתית או תקופתית. לדוגמה, אפשר להגביל את התחזיות ליום אחד בשבוע על ידי הגדרת הערך של אורך פסיעה ל-
7. הערך יכול להיות בין1ל-1000. - עמודה.
אפשר להוסיף עמודה לנתוני הקלט שבה הערכים הם
TrueאוFalse. פלטפורמת Agent יוצרת חלון לכל שורת קלט שבה הערך של העמודה הוא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]
יעדי אופטימיזציה למודלים של תחזיות
כשמאמנים מודל, Agent Platform בוחר יעד אופטימיזציה שמוגדר כברירת מחדל על סמך סוג המודל וסוג הנתונים שמשמשים לעמודת היעד. בטבלה הבאה מפורטים כמה פרטים על בעיות שהמודלים לחיזוי מתאימים להן במיוחד:
| יעד האופטימיזציה | ערך 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 |
ממזערים את הפסד הפינבול המותאם של הכמויות שהוגדרו כדי לכמת את אי-הוודאות בהערכות. הסקת מסקנות לגבי קוונטילים מאפשרת לכמת את אי-הוודאות של מסקנות. הם מודדים את הסבירות לכך שהסקת מסקנות תהיה בטווח מסוים. |
אזורים לחגים
במקרים מסוימים, נתוני התחזיות עשויים להציג התנהגות לא סדירה בימים שבהם חלים חגים אזוריים. אם רוצים שהמודל יביא בחשבון את ההשפעה הזו, צריך לבחור את האזור או האזורים הגיאוגרפיים שמתאימים לנתוני הקלט. במהלך האימון, Agent Platform יוצר תכונות קטגוריות של חגים במודל על סמך התאריך מעמודת השעה והאזורים הגיאוגרפיים שצוינו.
הקטע הבא הוא קטע מתוך רשימת התאריכים והמאפיינים הקטגוריים של החגים בארצות הברית. שימו לב שתכונה קטגורית מוקצית לתאריך הראשי, ליום אחד או יותר לפני החג וליום אחד או יותר אחרי החג. לדוגמה, התאריך העיקרי של יום האם בארה"ב בשנת 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: