Mit einem summarisierbaren Messwert Dateninformationen aus einem Modell zur Beitragsanalyse abrufen

In dieser Anleitung verwenden Sie ein Modell für die Beitragsanalyse, um die Verkaufsänderungen zwischen 2020 und 2021 im Dataset „Iowa Liquor Sales“ (Einzelhandelsverkauf von Spirituosen in Iowa) zu analysieren. In dieser Anleitung werden Sie durch die folgenden Aufgaben geführt:

  • Erstellen Sie eine Eingabetabelle basierend auf öffentlich verfügbaren Daten zu Spirituosen in Iowa.
  • Erstellen Sie ein Beitragsanalysemodell, das einen summierbaren Messwert verwendet. Bei diesem Modell wird ein bestimmter Messwert für eine Kombination aus einer oder mehreren Dimensionen in den Daten zusammengefasst, um zu ermitteln, wie diese Dimensionen zum Messwert beitragen.
  • Mit der Funktion ML.GET_INSIGHTS können Sie die Messwertstatistiken aus dem Modell abrufen.

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

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 Google Cloud-Nutzern 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.

Hinweise

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the BigQuery API.

    Enable the API

Dataset erstellen

Erstellen Sie ein BigQuery-Dataset, um Ihr ML-Modell zu speichern.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    Zur Seite „BigQuery“

  2. Klicken Sie im Bereich Explorer auf den Namen Ihres Projekts.

  3. Klicken Sie auf Aktionen ansehen > Dataset erstellen.

    Die Menüoption „Dataset erstellen“

  4. Führen Sie auf der Seite Dataset erstellen die folgenden Schritte aus:

    • Geben Sie unter Dataset-ID bqml_tutorial ein.

    • Wählen Sie als Standorttyp die Option Mehrere Regionen und dann USA (mehrere Regionen in den USA) aus.

    • Übernehmen Sie die verbleibenden Standardeinstellungen unverändert und klicken Sie auf Dataset erstellen.

bq

Wenn Sie ein neues Dataset erstellen möchten, verwenden Sie den Befehl bq mk mit dem Flag --location. Eine vollständige Liste der möglichen Parameter finden Sie in der bq mk --dataset-Befehlsreferenz.

  1. Erstellen Sie ein Dataset mit dem Namen bqml_tutorial, dessen Speicherort auf US festgelegt ist und das die Beschreibung BigQuery ML tutorial dataset hat:

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

    Anstelle des Flags --dataset verwendet der Befehl die verkürzte Form -d. Wenn Sie -d und --dataset auslassen, wird standardmäßig ein Dataset erstellt.

  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 Sie analysieren möchten. Die Testtabelle enthält Spirituosendaten aus dem Jahr 2021 und die Kontrolltabelle Spirituosendaten aus dem Jahr 2020. In der folgenden Abfrage werden die Test- und Kontrolldaten in einer einzigen Eingabetabelle kombiniert:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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 Modell für die Beitragsanalyse:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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 bqml_tutorial-Dataset des Bereichs Explorer angezeigt. Da die Abfrage eine CREATE MODEL-Anweisung zum Erstellen eines Modells verwendet, gibt es keine Abfrageergebnisse.

Statistiken aus dem Modell abrufen

Mit der Funktion ML.GET_INSIGHTS können Sie Informationen abrufen, die vom Modell für die Beitragsanalyse generiert wurden.

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Führen Sie im Abfrageeditor die folgende Anweisung aus, um Spalten aus der Ausgabe für ein Modell zur Analyse des Beitrags von messbaren Werten 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 wurden zur besseren Lesbarkeit gekürzt.

mit den russischsprachigen  Top-Beitragenden zu sprechen. metric_test metric_control Differenz 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 in absteigender Reihenfolge nach Beitrag (ABS(difference)) sortiert. In der Zeile all sehen Sie in der Spalte difference, dass der Gesamtumsatz von 2020 auf 2021 um 31.595.222 $ gestiegen ist, was einer Steigerung von 7,9% entspricht (Spalte relative_difference). In der zweiten Zeile mit vendor_name=SAZERAC COMPANY INC betrug der Wert für unexpected_difference 11.491.923 $. Das bedeutet, dass dieses Datensegment um 28% schneller gewachsen ist als die Daten insgesamt, wie in der Spalte relative_unexpected_difference zu sehen ist. Weitere Informationen finden Sie unter Summierbare Messwertausgabespalten.

Bereinigen

  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.