Obtén estadísticas de datos a partir de un modelo de análisis de contribuciones con una métrica de proporción sumada
En este instructivo, usarás un modelo de análisis de contribución para analizar la contribución de la proporción del costo de las ventas en el conjunto de datos de las ventas de bebidas alcohólicas de Iowa. En este instructivo, se te guiará por las siguientes tareas:
- Crear una tabla de entrada basada en datos de licores de Iowa disponibles públicamente
- Crear un modelo de análisis de contribución que use una métrica de proporción sumatoria Este tipo de modelo resume los valores de dos columnas numéricas y determina las diferencias de proporción entre el conjunto de datos de control y de prueba para cada segmento de los datos.
- Obtén las estadísticas de las métricas del modelo con la función
ML.GET_INSIGHTS
.
Antes de comenzar este instructivo, debes familiarizarte con el caso de uso de análisis de contribuciones.
Permisos necesarios
Para crear el conjunto de datos, necesitas el permiso
bigquery.datasets.create
de Identity and Access Management (IAM).Para crear el modelo, necesitas los siguientes permisos:
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
Para ejecutar inferencias, necesitas los siguientes permisos:
bigquery.models.getData
bigquery.jobs.create
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
- BigQuery ML: You incur costs for the data that you process in BigQuery.
Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.
Para obtener más información sobre los precios de BigQuery, consulta Precios de BigQuery en la documentación de BigQuery.
Antes de comenzar
-
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.
Crea un conjunto de datos
Crea un conjunto de datos de BigQuery para almacenar tu modelo de AA:
En la consola de Google Cloud, ve a la página de BigQuery.
En el panel Explorador, haz clic en el nombre de tu proyecto.
Haz clic en
Ver acciones > Crear conjunto de datos.En la página Crear conjunto de datos, haz lo siguiente:
En ID del conjunto de datos, ingresa
bqml_tutorial
.En Tipo de ubicación, selecciona Multirregión y, luego, EE.UU. (varias regiones en Estados Unidos).
Los conjuntos de datos públicos se almacenan en la multirregión
US
. Para que sea más simple, almacena tu conjunto de datos en la misma ubicación.Deja la configuración predeterminada restante como está y haz clic en Crear conjunto de datos.
Crea una tabla de datos de entrada
Crea una tabla que contenga datos de prueba y control para analizar. La siguiente consulta crea dos tablas intermedias, una tabla de prueba para los datos de licores de 2021 y una tabla de control con datos de licores de 2020, y luego realiza una unión de las tablas intermedias para crear una tabla con filas de prueba y de control, y el mismo conjunto de columnas.
En la consola de Google Cloud, ve a la página de BigQuery.
En el editor de consultas, ejecuta la siguiente declaración:
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);
Crea el modelo
Crea un modelo de análisis de contribuciones:
En la consola de Google Cloud, ve a la página de BigQuery.
En el editor de consultas, ejecuta la siguiente declaración:
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;
La consulta tarda aproximadamente 35 segundos en completarse, después de lo cual el modelo liquor_sales_model
aparece en el conjunto de datos bqml_tutorial
en el panel Explorador. Debido a que la consulta usa una declaración CREATE MODEL
para crear un modelo, no hay resultados de consultas.
Obtén estadísticas del modelo
Obtén estadísticas generadas por el modelo de análisis de contribuciones con la función ML.GET_INSIGHTS
.
En la consola de Google Cloud, ve a la página de BigQuery.
En el editor de consultas, ejecuta la siguiente declaración:
SELECT * FROM ML.GET_INSIGHTS( MODEL `bqml_tutorial.liquor_sales_model`) ORDER BY aumann_shapley_attribution DESC;
Las primeras filas del resultado deberían ser similares a las siguientes:
+---------------------------------------------+------------+--------------+----------------------+---------------------------+------------------+---------------------+---------------------+-------------------------+-----------------------------+--------------------------------+----------------------------+----------------------+ | 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 | +---------------------------------------------+------------+--------------+----------------------+---------------------------+------------------+---------------------+---------------------+-------------------------+-----------------------------+--------------------------------+----------------------------+----------------------+
En el resultado, puedes ver que el segmento de datos
vendor_name=HEAVEN HILL BRANDS
tiene la atribución de Shapley de Aummann más alta, lo que indica la mayor contribución del cambio en la proporción de ventas. Esta diferencia también se puede ver en las columnasratio_test
yratio_control
, que muestran que la proporción aumentó en los datos de prueba en comparación con los datos de control. Otras métricas, comoregional_relative_ratio
,ambient_relative_ratio_test
yambient_relative_ratio_control
, calculan estadísticas adicionales que describen la relación entre las proporciones de control y prueba, y cómo se relacionan con la población general. Para obtener más información, consulta las columnas de resultados de la métrica de proporción sumable.
Limpia
- 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.