Dateneinblicke aus einem Modell zur Beitragsanalyse mit einem summierbaren Messwert abrufen

In dieser Anleitung verwenden Sie ein Beitragsanalysemodell, um Umsatzänderungen zwischen 2020 und 2021 im Dataset „Iowa Liquor Sales“ zu analysieren. In dieser Anleitung werden Sie durch die folgenden Aufgaben geführt:

  • Erstellen Sie eine Eingabetabelle auf Grundlage öffentlich verfügbarer Daten zu Alkohol in Iowa.
  • Erstellen Sie ein Beitragsanalysemodell, das einen summierbaren Messwert verwendet. Dieser Modelltyp fasst einen bestimmten Messwert für eine Kombination aus einer oder mehreren Dimensionen in den Daten zusammen, um zu bestimmen, wie diese Dimensionen zum Messwert beitragen.
  • Rufen Sie die Messwertstatistiken aus dem Modell mit der Funktion ML.GET_INSIGHTS ab.

Bevor Sie mit dieser Anleitung beginnen, sollten Sie sich mit dem Anwendungsfall Beitragsanalyse vertraut machen.

Erforderliche Berechtigungen

  • Zum Erstellen des Datasets benötigen Sie die IAM (Identity and Access Management)-Berechtigung bigquery.datasets.create.

  • Zum Erstellen des Modells benötigen Sie die folgenden Berechtigungen:

    • bigquery.jobs.create
    • bigquery.models.create
    • bigquery.models.getData
    • bigquery.models.updateData
  • Zum Ausführen von Inferenzen benötigen Sie die folgenden Berechtigungen:

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

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

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

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.

Neuen Nutzern von Google Cloud steht möglicherweise eine kostenlose Testversion zur Verfügung.

Weitere Informationen zu den Preisen von BigQuery finden Sie unter BigQuery: Preise in der BigQuery-Dokumentation.

Hinweis

  1. Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Projekt von Google Cloud aus oder erstellen Sie eines.

    Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts

    • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
    • Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Project Creator“ (roles/resourcemanager.projectCreator), die die Berechtigung resourcemanager.projects.create enthält. Informationen zum Zuweisen von Rollen

    Zur Projektauswahl

  2. Prüfen Sie, ob die Abrechnung für Ihr Google Cloud -Projekt aktiviert ist.

  3. Aktivieren Sie die BigQuery API, falls sie noch nicht aktiviert ist.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    API aktivieren

Dataset erstellen

Wählen Sie eine der folgenden Optionen aus, um ein BigQuery-Dataset zu erstellen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Klicken Sie im linken Bereich auf Explorer:

    Hervorgehobener Button für den Explorer-Bereich.

    Wenn der linke Bereich nicht angezeigt wird, klicken Sie auf Linken Bereich maximieren, um ihn zu öffnen.

  3. Maximieren Sie im Explorer Ihr Projekt und klicken Sie dann auf Datasets.

  4. Klicken Sie auf der Seite Datasets auf Dataset erstellen.

  5. Führen Sie im Bereich Dataset erstellen die folgenden Schritte aus:

    • Geben Sie unter Dataset-ID bqml_tutorial ein.

    • Wählen Sie unter Speicherort der Daten die Option USA aus.

    Übernehmen Sie die anderen Standardeinstellungen.

  6. Klicken Sie auf Dataset erstellen.

bq

Wenn Sie ein neues Dataset erstellen möchten, verwenden Sie den Befehl bq mk --dataset.

  1. Erstellen Sie ein Dataset mit dem Namen bqml_tutorial und dem Datenspeicherort US:

    bq mk --dataset \
      --location=US \
      --description "BigQuery ML tutorial dataset." \
      bqml_tutorial
  2. Prüfen Sie, ob das Dataset erstellt wurde:

    bq ls

API

Rufen Sie die Methode datasets.insert mit einer definierten Dataset-Ressource auf:

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

Tabelle mit Eingabedaten erstellen

Erstellen Sie eine Tabelle mit Test- und Kontrolldaten, die analysiert werden sollen. Die Testtabelle enthält Daten zu alkoholischen Getränken aus dem Jahr 2021 und die Kontrolltabelle Daten zu alkoholischen Getränken aus dem Jahr 2020. Mit der folgenden Abfrage werden die Test- und Kontrolldaten in einer einzigen Eingabetabelle zusammengefasst:

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Führen Sie im Abfrageeditor folgende Abfrage aus:

    CREATE OR REPLACE TABLE bqml_tutorial.iowa_liquor_sales_sum_data AS (
      (SELECT
        store_name,
        city,
        vendor_name,
        category_name,
        item_description,
        SUM(sale_dollars) AS total_sales,
        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,
        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)
    );

Modell erstellen

So erstellen Sie ein Beitragsanalysemodell:

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Führen Sie im Abfrageeditor folgende Abfrage aus:

    CREATE OR REPLACE MODEL bqml_tutorial.iowa_liquor_sales_sum_model
      OPTIONS(
        model_type='CONTRIBUTION_ANALYSIS',
        contribution_metric = '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_sum_data;

Die Abfrage dauert ungefähr 60 Sekunden. Anschließend wird das Modell iowa_liquor_sales_sum_model im Dataset bqml_tutorial angezeigt. Da die Abfrage eine CREATE MODEL-Anweisung zum Erstellen eines Modells verwendet, gibt es keine Abfrageergebnisse.

Anhand des Modells Einblicke gewinnen

Rufen Sie mit der Funktion ML.GET_INSIGHTS die vom Modell zur Beitragsanalyse generierten Insights ab.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Führen Sie im Abfrageeditor die folgende Anweisung aus, um Spalten aus der Ausgabe für ein Modell zur Beitragsanalyse für summierbare Messwerte auszuwählen:

    SELECT
      contributors,
      metric_test,
      metric_control,
      difference,
      relative_difference,
      unexpected_difference,
      relative_unexpected_difference,
      apriori_support,
      contribution
    FROM
      ML.GET_INSIGHTS(
        MODEL `bqml_tutorial.iowa_liquor_sales_sum_model`);

Die ersten Zeilen der Ausgabe sollten in etwa so aussehen: Die Werte werden gekürzt, um die Lesbarkeit zu verbessern.

mit den russischsprachigen  Top-Beitragenden zu sprechen. metric_test metric_control Unterschied relative_difference unexpected_difference relative_unexpected_difference apriori_support Beitrag
Alle 428068179 396472956 31595222 0,079 31595222 0,079 1,0 31595222
vendor_name=SAZERAC COMPANY INC 52327307 38864734 13462573 0,346 11491923 0,281 0,122 13462573
city=DES MOINES 49521322 41746773 7774549 0,186 4971158 0,111 0,115 7774549
vendor_name=DIAGEO AMERICAS 84681073 77259259 7421814 0,096 1571126 0,018 0,197 7421814
category_name=100% AGAVE TEQUILA 23915100 17252174 6662926 0,386 5528662 0,3 0,055 6662926

Die Ausgabe wird automatisch nach Beitrag oder ABS(difference) in absteigender Reihenfolge sortiert. In der Zeile all zeigt die Spalte difference, dass der Gesamtumsatz von 2020 bis 2021 um 31.595.222 $ gestiegen ist,was einem Anstieg von 7,9 % entspricht, wie in der Spalte relative_difference angegeben. In der zweiten Zeile mit vendor_name=SAZERAC COMPANY INC gab es einen unexpected_difference von 11.491.923 $. Das bedeutet, dass dieses Datensegment um 28 % mehr gewachsen ist als die Wachstumsrate der Daten insgesamt, wie in der Spalte relative_unexpected_difference zu sehen ist. Weitere Informationen finden Sie unter Ausgabespalten für summierbare Messwerte.

Bereinigen

  1. Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.