במדריך הזה נסביר איך להשתמש בפונקציה AI.FORECAST עם מודל חד-משתני של TimesFM מובנה של BigQuery ML כדי לחזות את הערך העתידי של עמודה מסוימת, על סמך הערך ההיסטורי של העמודה הזו.
במדריך הזה נעשה שימוש בנתונים מהטבלה הציבורית bigquery-public-data.san_francisco_bikeshare.bikeshare_trips.
מטרות
במדריך הזה נסביר איך להשתמש בפונקציה AI.FORECAST עם מודל TimesFM המובנה כדי לחזות נסיעות בהשכרת אופניים. בשני החלקים הראשונים מוסבר איך ליצור תחזית ולראות את התוצאות של סדרת זמן אחת. בחלק השלישי מוסבר איך ליצור תחזית לכמה סדרות זמן.
עלויות
במדריך הזה נעשה שימוש ברכיבים של Cloud de Confiance by S3NSשחלים עליהם חיובים, כולל הרכיבים הבאים:
- BigQuery
- BigQuery ML
מידע נוסף על העלויות ב-BigQuery זמין בדף תמחור ב-BigQuery.
מידע נוסף על העלויות של BigQuery ML זמין במאמר תמחור ב-BigQuery ML.
לפני שמתחילים
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
- BigQuery מופעל באופן אוטומטי בפרויקטים חדשים.
כדי להפעיל את BigQuery בפרויקט קיים,
מפעילים את BigQuery API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים
חיזוי של סדרת זמנים של נסיעות בודדות בשירות השכרת אופניים
אפשר לחזות ערכים עתידיים של סדרות זמן באמצעות הפונקציה AI.FORECAST.
השאילתה הבאה חוזה את מספר הנסיעות של מנויים באופניים שיתופיים בכל שעה בחודש הבא (כ-720 שעות), על סמך נתונים היסטוריים מ-4 החודשים האחרונים. הארגומנט confidence_level מציין שהשאילתה יוצרת מרווח חיזוי עם רמת סמך של 95%.
כדי ליצור תחזית של נתונים באמצעות מודל TimesFM:
במסוף Cloud de Confiance , עוברים לדף BigQuery.
בעורך השאילתות, מדביקים את השאילתה הבאה ולוחצים על Run (הרצה):
SELECT * FROM AI.FORECAST( ( SELECT TIMESTAMP_TRUNC(start_date, HOUR) as trip_hour, COUNT(*) as num_trips FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips` WHERE subscriber_type = 'Subscriber' AND start_date >= TIMESTAMP('2018-01-01') GROUP BY TIMESTAMP_TRUNC(start_date, HOUR) ), horizon => 720, confidence_level => 0.95, timestamp_col => 'trip_hour', data_col => 'num_trips');
התוצאות אמורות להיראות כך:
+-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+ | forecast_timestamp | forecast_value | confidence_level | prediction_interval_lower_bound | prediction_interval_upper_bound | ai_forecast_status | +-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+ | 2018-05-01 00:00:00 UTC | 26.3045959... | 0.95 | 21.7088378... | 30.9003540... | | +-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+ | 2018-05-01 01:00:00 UTC | 34.0890502... | 0.95 | 2.47682913... | 65.7012714... | | +-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+ | 2018-05-01 02:00:00 UTC | 24.2154693... | 0.95 | 2.87621605... | 45.5547226... | | +-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+ | ... | ... | ... | ... | ... | | +-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+
השוואה בין הנתונים החזויים לבין נתוני הקלט
כדי לראות את ההשוואה בין הנתונים, אפשר להציג בגרף את הפלט של הפונקציה AI.FORECAST לצד קבוצת משנה של נתוני הקלט של הפונקציה.
כדי ליצור תרשים של הפלט של הפונקציה:
במסוף Cloud de Confiance , עוברים לדף BigQuery.
בעורך השאילתות, מדביקים את השאילתה הבאה ולוחצים על Run (הרצה):
SELECT * FROM AI.FORECAST( ( SELECT TIMESTAMP_TRUNC(start_date, HOUR) as trip_hour, COUNT(*) as num_trips FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips` WHERE subscriber_type = 'Subscriber' AND start_date >= TIMESTAMP('2018-01-01') GROUP BY TIMESTAMP_TRUNC(start_date, HOUR) ), horizon => 720, confidence_level => 0.95, timestamp_col => 'trip_hour', data_col => 'num_trips', output_historical_time_series => true);
אחרי שהשאילתה מסיימת לפעול, לוחצים על הכרטיסייה Visualization (הדמיה) בחלונית Query results (תוצאות השאילתה). בקטע סוג התצוגה החזותית, בוחרים באפשרות קו. בקטע מאפיין, בוחרים באפשרות
time_series_timestamp. בקטע Measures (מדדים), בוחרים באפשרויותtime_series_data,prediction_interval_lower_boundו-prediction_interval_upper_bound. התרשים שיתקבל ייראה כך:
אפשר לראות שנתוני הקלט ונתוני התחזית דומים לגבי השימוש בשירות השכרת האופניים. אפשר גם לראות שהגבול התחתון והעליון של מרווח החיזוי גדלים ככל שנקודות הזמן החזויות מתרחקות אל העתיד.
חיזוי של סדרת זמנים של כמה נסיעות באופניים שיתופיים
השאילתה הבאה חוזה את מספר הנסיעות באופניים שיתופיים לפי סוג מינוי ולפי שעה בחודש הבא (כ-720 שעות), על סמך נתונים היסטוריים של ארבעת החודשים הקודמים. הארגומנט confidence_level מציין שהשאילתה יוצרת מרווח חיזוי עם רמת סמך של 95%.
כדי ליצור תחזית של נתונים באמצעות מודל TimesFM:
במסוף Cloud de Confiance , עוברים לדף BigQuery.
בעורך השאילתות, מדביקים את השאילתה הבאה ולוחצים על Run:
SELECT * FROM AI.FORECAST( ( SELECT TIMESTAMP_TRUNC(start_date, HOUR) as trip_hour, subscriber_type, COUNT(*) as num_trips FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips` WHERE start_date >= TIMESTAMP('2018-01-01') GROUP BY TIMESTAMP_TRUNC(start_date, HOUR), subscriber_type ), horizon => 720, confidence_level => 0.95, timestamp_col => 'trip_hour', data_col => 'num_trips', id_cols => ['subscriber_type']);
התוצאות אמורות להיראות כך:
+---------------------+--------------------------+------------------+------------------+---------------------------------+---------------------------------+--------------------+ | subscriber_type | forecast_timestamp | forecast_value | confidence_level | prediction_interval_lower_bound | prediction_interval_upper_bound | ai_forecast_status | +---------------------+--------------------------+------------------+------------------+---------------------------------+---------------------------------+--------------------+ | Subscriber | 2018-05-01 00:00:00 UTC | 26.3045959... | 0.95 | 21.7088378... | 30.9003540... | | +---------------------+--------------------------+------------------+------------------+---------------------------------+---------------------------------+--------------------+ | Subscriber | 2018-05-01 01:00:00 UTC | 34.0890502... | 0.95 | 2.47682913... | 65.7012714... | | +---------------------+-------------------+------------------+-------------------------+---------------------------------+---------------------------------+--------------------+ | Subscriber | 2018-05-01 02:00:00 UTC | 24.2154693... | 0.95 | 2.87621605... | 45.5547226... | | +---------------------+--------------------------+------------------+------------------+---------------------------------+---------------------------------+--------------------+ | ... | ... | ... | ... | ... | ... | | +---------------------+--------------------------+------------------+------------------+---------------------------------+---------------------------------+--------------------+
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת פרויקט
כדי למחוק את הפרויקט:
- במסוף Cloud de Confiance , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
המאמרים הבאים
- סקירה כללית על BigQuery ML זמינה במאמר מבוא ל-AI ול-ML ב-BigQuery.