Receber insights de dados de um modelo de análise de contribuição usando uma métrica de proporção somável
Neste tutorial, você vai usar um modelo de análise de contribuição para analisar a contribuição da razão do custo das vendas no conjunto de dados de vendas de bebidas alcoólicas de Iowa. Este tutorial vai orientar você nas seguintes tarefas:
- Criação de uma tabela de entrada com base nos dados de bebidas alcoólicas disponíveis publicamente em Iowa.
- Crie um modelo de análise de contribuição que use uma métrica de proporção somável. Esse tipo de modelo resume os valores de duas colunas numéricas e determina as diferenças de proporção entre o conjunto de dados de controle e de teste para cada segmento dos dados.
- Receba os insights de métricas do modelo usando a
função
ML.GET_INSIGHTS
.
Antes de iniciar este tutorial, você precisa conhecer o caso de uso da análise de contribuição.
Permissões necessárias
Para criar o conjunto de dados, você precisa da permissão
bigquery.datasets.create
do Identity and Access Management (IAM).Para criar o modelo, você precisa das seguintes permissões:
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
Para executar a inferência, você precisa das seguintes permissões:
bigquery.models.getData
bigquery.jobs.create
Custos
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
- BigQuery ML: You incur costs for the data that you process in BigQuery.
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Para mais informações, consulte Preços do BigQuery na documentação do BigQuery.
Antes de começar
-
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.
Criar um conjunto de dados
Crie um conjunto de dados do BigQuery para armazenar o modelo de ML:
No console do Google Cloud, acesse a página do BigQuery.
No painel Explorer, clique no nome do seu projeto.
Clique em
Conferir ações > Criar conjunto de dados.Na página Criar conjunto de dados, faça o seguinte:
Para o código do conjunto de dados, insira
bqml_tutorial
.Em Tipo de local, selecione Multirregião e EUA (várias regiões nos Estados Unidos).
Os conjuntos de dados públicos são armazenados na multirregião
US
. Para simplificar, armazene seus conjuntos de dados no mesmo local.Mantenha as configurações padrão restantes e clique em Criar conjunto de dados.
Criar uma tabela de dados de entrada
Crie uma tabela com dados de teste e controle para analisar. A consulta a seguir cria duas tabelas intermediárias, uma de teste para dados de bebidas alcoólicas de 2021 e uma de controle com dados de bebidas alcoólicas de 2020. Em seguida, ela realiza uma união das tabelas intermediárias para criar uma tabela com linhas de teste e de controle e o mesmo conjunto de colunas.
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, execute a seguinte instrução:
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);
Criar o modelo
Crie um modelo de análise de contribuição:
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, execute a seguinte instrução:
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;
A consulta leva cerca de 35 segundos para ser concluída. Depois disso, o modelo
liquor_sales_model
aparece no conjunto de dados bqml_tutorial
no
painel Explorer. Como a consulta usa uma instrução CREATE MODEL
para
criar um modelo, não há resultados de consulta.
Receber insights do modelo
Receba insights gerados pelo modelo de análise de contribuição usando a
função ML.GET_INSIGHTS
.
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, execute a seguinte instrução:
SELECT * FROM ML.GET_INSIGHTS( MODEL `bqml_tutorial.liquor_sales_model`) ORDER BY aumann_shapley_attribution DESC;
As primeiras linhas da saída vão ser parecidas com esta:
+---------------------------------------------+------------+--------------+----------------------+---------------------------+------------------+---------------------+---------------------+-------------------------+-----------------------------+--------------------------------+----------------------------+----------------------+ | 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 | +---------------------------------------------+------------+--------------+----------------------+---------------------------+------------------+---------------------+---------------------+-------------------------+-----------------------------+--------------------------------+----------------------------+----------------------+
Na saída, é possível ver que o segmento de dados
vendor_name=HEAVEN HILL BRANDS
tem a atribuição de Shapley de Aummann mais alta, o que indica a maior contribuição de mudança na proporção de vendas. Essa diferença também pode ser vista nas colunasratio_test
eratio_control
, que mostram que a proporção aumentou nos dados de teste em comparação com os dados de controle. Outras métricas, comoregional_relative_ratio
,ambient_relative_ratio_test
eambient_relative_ratio_control
, calculam outras estatísticas que descrevem a relação entre as proporções de controle e de teste e como elas se relacionam com a população em geral. Para mais informações, consulte as colunas de saída da métrica de proporção somável.
Limpar
- 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.