קבלת תובנות לגבי נתונים ממודל ניתוח תרומות באמצעות מדד יחס שניתן לסיכום

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

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

לפני שמתחילים את המדריך הזה, כדאי להכיר את תרחיש השימוש של ניתוח התרומה.

ההרשאות הנדרשות

  • כדי ליצור את מערך הנתונים, צריך את ההרשאה bigquery.datasets.createבממשק של ניהול הזהויות והרשאות הגישה (IAM).

  • כדי ליצור את המודל, צריך את ההרשאות הבאות:

    • bigquery.jobs.create
    • bigquery.models.create
    • bigquery.models.getData
    • bigquery.models.updateData
  • כדי להריץ הסקה, אתם צריכים את ההרשאות הבאות:

    • bigquery.models.getData
    • bigquery.jobs.create

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

  • BigQuery ML: You incur costs for the data that you process in BigQuery.

כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.

משתמשים חדשים של Google Cloud ? יכול להיות שאתם זכאים לתקופת ניסיון בחינם.

מידע נוסף על התמחור של BigQuery זמין במאמר תמחור ב-BigQuery במסמכי התיעוד של BigQuery.

לפני שמתחילים

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. Enable the BigQuery API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

יצירת מערך נתונים

יוצרים מערך נתונים ב-BigQuery לאחסון מודל ה-ML.

המסוף

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    לדף BigQuery

  2. בחלונית Explorer, לוחצים על שם הפרויקט.

  3. לוחצים על הצגת פעולות > יצירת מערך נתונים.

  4. בדף Create dataset, מבצעים את הפעולות הבאות:

    • בשדה Dataset ID (מזהה מערך הנתונים), מזינים bqml_tutorial.

    • בקטע Location type, בוחרים באפשרות במספר אזורים ואז באפשרות US (multiple regions in United States).

    • משאירים את שאר הגדרות ברירת המחדל כמו שהן ולוחצים על Create dataset (יצירת מערך נתונים).

BQ

כדי ליצור מערך נתונים חדש, משתמשים בפקודה bq mk עם הדגל --location. רשימה מלאה של הפרמטרים האפשריים זמינה במאמר בנושא הפקודה bq mk --dataset.

  1. יוצרים מערך נתונים בשם bqml_tutorial עם מיקום הנתונים שמוגדר ל-US ותיאור של BigQuery ML tutorial dataset:

    bq --location=US mk -d \
     --description "BigQuery ML tutorial dataset." \
     bqml_tutorial

    במקום להשתמש בדגל --dataset, הפקודה משתמשת בקיצור הדרך -d. אם לא מציינים את -d ואת --dataset, ברירת המחדל של הפקודה היא יצירת מערך נתונים.

  2. בודקים שמערך הנתונים נוצר:

    bq ls

API

מבצעים קריאה לשיטה datasets.insert עם משאב מוגדר של מערך נתונים.

{
  "datasetReference": {
     "datasetId": "bqml_tutorial"
  }
}

יצירת טבלה של נתוני קלט

יוצרים טבלה שמכילה נתונים של קבוצת הבדיקה וקבוצת הביקורת כדי לנתח אותם. השאילתה הבאה יוצרת שתי טבלאות ביניים: טבלת בדיקה עם נתוני משקאות משנת 2021 וטבלת בקרה עם נתוני משקאות משנת 2020. לאחר מכן היא מבצעת איחוד של טבלאות הביניים כדי ליצור טבלה עם שורות בדיקה ובקרה ועם אותו סט של עמודות.

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. בעורך השאילתות, מריצים את ההצהרה הבאה:

    CREATE OR REPLACE TABLE bqml_tutorial.iowa_liquor_sales_data AS
    (SELECT
      store_name,
      city,
      vendor_name,
      category_name,
      item_description,
      SUM(sale_dollars) AS total_sales,
      SUM(state_bottle_cost) AS total_bottle_cost,
      FALSE AS is_test
    FROM `bigquery-public-data.iowa_liquor_sales.sales`
    WHERE EXTRACT(YEAR FROM date) = 2020
    GROUP BY store_name, city, vendor_name, category_name, item_description, is_test)
    UNION ALL
    (SELECT
      store_name,
      city,
      vendor_name,
      category_name,
      item_description,
      SUM(sale_dollars) AS total_sales,
      SUM(state_bottle_cost) AS total_bottle_cost,
      TRUE AS is_test
    FROM `bigquery-public-data.iowa_liquor_sales.sales`
    WHERE EXTRACT(YEAR FROM date) = 2021
    GROUP BY store_name, city, vendor_name, category_name, item_description, is_test);

יצירת המודל

כדי ליצור מודל ניתוח תרומות:

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. בעורך השאילתות, מריצים את ההצהרה הבאה:

    CREATE OR REPLACE MODEL bqml_tutorial.liquor_sales_model
    OPTIONS(
      model_type = 'CONTRIBUTION_ANALYSIS',
      contribution_metric = 'sum(total_bottle_cost)/sum(total_sales)',
      dimension_id_cols = ['store_name', 'city', 'vendor_name', 'category_name', 'item_description'],
      is_test_col = 'is_test',
      min_apriori_support = 0.05
    ) AS
    SELECT * FROM bqml_tutorial.iowa_liquor_sales_data;

השלמת השאילתה נמשכת כ-35 שניות, ולאחר מכן המודל liquor_sales_model מופיע במערך הנתונים bqml_tutorial. מכיוון שהשאילתה משתמשת בהצהרת CREATE MODEL כדי ליצור מודל, אין תוצאות לשאילתה.

קבלת תובנות מהמודל

אפשר לקבל תובנות שנוצרו על ידי מודל ניתוח התרומה באמצעות הפונקציה ML.GET_INSIGHTS.

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

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

    SELECT
    contributors,
    metric_test,
    metric_control,
    metric_test_over_metric_control,
    metric_test_over_complement,
    metric_control_over_complement,
    aumann_shapley_attribution,
    apriori_support
    contribution
    FROM
      ML.GET_INSIGHTS(
        MODEL `bqml_tutorial.liquor_sales_model`)
    ORDER BY aumann_shapley_attribution DESC;

כמה השורות הראשונות של הפלט אמורות להיראות כך: הערכים נחתכים כדי שיהיה קל יותר לקרוא אותם.

תורמי תוכן metric_test metric_control metric_test_over_metric_control metric_test_over_complement metric_control_over_complement aumann_shapley_attribution apriori_support תרומה
all 0.069 0.071 0.969 null null ‎-0.00219 1.0 0.00219
city=DES MOINES 0.048 0.054 0.88 0.67 0.747 ‪-0.00108 0.08 0.00108
vendor_name=DIAGEO AMERICAS 0.064 0.068 0.937 0.917 0.956 ‫‎-0.0009 0.184 0.0009
vendor_name=BACARDI USA INC 0.071 0.082 0.857 1.025 1.167 ‎-0.00054 0.057 0.00054
vendor_name=PERNOD RICARD USA 0.068 0.077 0.89 0.988 1.082 ‎-0.0005 0.061 0.0005

בפלט אפשר לראות שלפלח הנתונים city=DES MOINES יש את התרומה הכי גבוהה לשינוי ביחס המכירות. אפשר לראות את ההבדל הזה גם בעמודות metric_test ו-metric_control, שבהן מוצג שהיחס ירד בנתוני הבדיקה בהשוואה לנתוני קבוצת הבקרה. מדדים אחרים, כמו metric_test_over_metric_control, metric_test_over_complement ו-metric_control_over_complement, מחשבים נתונים סטטיסטיים נוספים שמתארים את הקשר בין יחסי הבקרה והבדיקה, ואיך הם קשורים לאוכלוסייה הכוללת. מידע נוסף על פלט של מודלים לניתוח התרומה של מדדי יחס שניתנים לסיכום

הסרת המשאבים

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.