合計比率指標を使用して貢献度分析モデルからデータ分析情報を取得する
このチュートリアルでは、貢献度分析モデルを使用して、アイオワ州の酒類販売データセットにおける売上原価率の貢献度を分析します。このチュートリアルでは、次のタスクについて説明します。
- 一般公開されているアイオワ州の酒類データに基づいて入力テーブルを作成する。
- 合計可能な比率指標を使用する貢献度分析モデルを作成する。このタイプのモデルは、2 つの数値列の値を要約し、データのセグメントごとにコントロール データセットとテストデータセットの比率の差異を決定します。
ML.GET_INSIGHTS
関数を使用して、モデルから指標の分析情報を取得します。
このチュートリアルを始める前に、貢献度分析のユースケースを理解しておく必要があります。
必要な権限
データセットを作成するには、
bigquery.datasets.create
Identity and Access Management(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.
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
BigQuery の料金の詳細については、BigQuery ドキュメントの BigQuery の料金をご覧ください。
始める前に
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery API.
データセットの作成
ML モデルを格納する BigQuery データセットを作成します。
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、プロジェクト名をクリックします。
「アクションを表示」> [データセットを作成] をクリックします。
[データセットを作成する] ページで、次の操作を行います。
[データセット ID] に「
bqml_tutorial
」と入力します。[ロケーション タイプ] で [マルチリージョン] を選択してから、[US (米国の複数のリージョン)] を選択します。
一般公開データセットは
US
マルチリージョンに保存されています。わかりやすくするため、データセットを同じロケーションに保存します。残りのデフォルトの設定は変更せず、[データセットを作成] をクリックします。
入力データのテーブルを作成する
分析するテストデータとコントロール データを含むテーブルを作成します。次のクエリは、2021 年の酒類データのテストテーブルと 2020 年の酒類データを含むコントロール テーブルの 2 つの中間テーブルを作成し、中間テーブルの結合を実行して、テスト行とコントロール行の両方と同じ列セットを持つテーブルを作成します。
Google Cloud コンソールで [BigQuery] ページに移動します。
クエリエディタで次のステートメントを実行します。
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);
モデルを作成する
貢献度分析モデルを作成する:
Google Cloud コンソールで [BigQuery] ページに移動します。
クエリエディタで次のステートメントを実行します。
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
関数を使用して、貢献度分析モデルによって生成された分析情報を取得します。
Google Cloud コンソールで [BigQuery] ページに移動します。
クエリエディタで次のステートメントを実行します。
SELECT * FROM ML.GET_INSIGHTS( MODEL `bqml_tutorial.liquor_sales_model`) ORDER BY aumann_shapley_attribution DESC;
出力の最初の数行は次のようになります。
+---------------------------------------------+------------+--------------+----------------------+---------------------------+------------------+---------------------+---------------------+-------------------------+-----------------------------+--------------------------------+----------------------------+----------------------+ | contributors | store_name | city | vendor_name | category_name | item_description | ratio_test | ratio_control | regional_relative_ratio | ambient_relative_ratio_test | ambient_relative_ratio_control | aumann_shapley_attribution | apriori_support | +---------------------------------------------+------------+--------------+----------------------+---------------------------+------------------+---------------------+---------------------+-------------------------+-----------------------------+--------------------------------+----------------------------+----------------------+ | ["vendor_name=HEAVEN HILL BRANDS"] | NULL | NULL | HEAVEN HILL BRANDS | NULL | NULL | 0.06082442061831622 | 0.05884218073008315 | 1.0336873967558387 | 0.8698365450783194 | 0.811596664491199 | 1.5104196544869235E-4 | 0.055361944752340866 | | ["category_name=CANADIAN WHISKIES"] | NULL | NULL | NULL | CANADIAN WHISKIES | NULL | 0.05660065322101707 | 0.05527494446064277 | 1.0239839003604652 | 0.7978770326280865 | 0.7503324937642422 | 9.208157188656863E-5 | 0.09035117733470034 | | ["category_name=STRAIGHT BOURBON WHISKIES"] | NULL | NULL | NULL | STRAIGHT BOURBON WHISKIES | NULL | 0.0780561336687973 | 0.07963402619292285 | 0.9801856995111244 | 1.1380300531561078 | 1.123518997118609 | -3.521056388489075E-5 | 0.09069759353047172 | | ["vendor_name=JIM BEAM BRANDS"] | NULL | NULL | JIM BEAM BRANDS | NULL | NULL | 0.07626103548689916 | 0.07922409994920188 | 0.9625989507712601 | 1.1085644148611702 | 1.1170286930895665 | -1.7964572365978545E-4 | 0.08232281614374977 | | ["city=CEDAR RAPIDS"] | NULL | CEDAR RAPIDS | NULL | NULL | NULL | 0.06564795345695407 | 0.06914461951551351 | 0.9494296724306232 | 0.9431496213564421 | 0.964181423999566 | -2.369897107336527E-4 | 0.060593459713451064 | | ["vendor_name=SAZERAC COMPANY INC"] | NULL | NULL | SAZERAC COMPANY INC | NULL | NULL | 0.06564824170155907 | 0.06728069733579875 | 0.9757366421740239 | 0.939610729279885 | 0.9343443980070573 | -3.1033262381369034E-4 | 0.11571276474865996 | +---------------------------------------------+------------+--------------+----------------------+---------------------------+------------------+---------------------+---------------------+-------------------------+-----------------------------+--------------------------------+----------------------------+----------------------+
出力から、データ セグメント
vendor_name=HEAVEN HILL BRANDS
のオーマン シャプレー アトリビューションが最も高く、売上比率の変化に最も大きく貢献していることがわかります。この差異は、ratio_test
列とratio_control
列でも確認できます。この列は、テストデータとコントロール データの比率を示しています。regional_relative_ratio
、ambient_relative_ratio_test
、ambient_relative_ratio_control
などの他の指標は、コントロールとテストの比率の関係と、それらが全体の集団とどのように関連しているかを示す追加の統計情報を計算します。詳細については、合計可能な比率指標の出力列をご覧ください。
クリーンアップ
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.