Atribuciones de atributos para la previsión

Introducción

En esta página, se proporciona una breve descripción general conceptual de los métodos de atribución de atributos disponibles con Vertex AI. Para obtener un análisis técnico detallado, consulta nuestro Informe sobre AI Explanations.

La importancia de los atributos globales (atribuciones de atributos del modelo) te muestra cuánto afecta cada atributo a un modelo. Los valores se proporcionan como un porcentaje para cada atributo: cuanto más alto sea el porcentaje, más impacto tendrá el atributo en el entrenamiento del modelo. Por ejemplo, después de revisar la importancia de los atributos globales para tu modelo, puedes llegar a la siguiente conclusión: “el modelo ve que las ventas del mes anterior suelen ser el predictor más sólido de las ventas del mes siguiente. Factores como el recuento de clientes y las promociones son importantes, pero son menos importantes que las cifras de ventas".

Para ver la importancia global de los atributos en tu modelo, examina las métricas de evaluación.

Las atribuciones de atributos para los modelos de series temporales indican cuánto contribuyó cada atributo de un modelo a una predicción. Miden la contribución de un atributo a una predicción en relación con un modelo de referencia de entrada. Para atributos numéricos, como las ventas, la entrada del modelo de referencia es la mediana de ventas. Para los atributos categóricos, como el nombre del producto, la entrada del modelo de referencia es el nombre más común del producto. La suma de todas las atribuciones no es la predicción. La suma indica cuánto difiere la predicción de la predicción del modelo de referencia (es decir, todas las entradas son entradas del modelo de referencia).

Las atribuciones de atributos se determinan en función de las previsiones realizadas para las contrafactuales. Una previsión de ejemplo es la siguiente: ¿Cuál sería la previsión si el valor del anuncio de TRUE en 2020-11-21 se reemplazara por FALSE, el valor más común? La cantidad necesaria de contrafactuales escala con la cantidad de columnas y rutas (servicio generado). La cantidad resultante de predicciones puede ser exponencialmente mayor que en una tarea de predicción normal y el tiempo de ejecución esperado escala en consecuencia.

Puedes usar la Previsión con AutoML o el flujo de trabajo tabular para la previsión a fin de generar y consultar atribuciones de atributos locales. La previsión con AutoML solo admite predicciones por lotes. El flujo de trabajo tabular para la previsión admite predicciones por lotes y predicciones en línea.

Ventajas

Si inspeccionas instancias específicas y agregas atribuciones de atributos en el conjunto de datos de entrenamiento, puedes obtener estadísticas más detalladas sobre cómo funciona el modelo. Ten en cuenta las siguientes ventajas:

  • Depuración de modelos: Las atribuciones de atributos pueden ayudar a detectar problemas en los datos que las técnicas de evaluación de modelos estándar suelen pasar por alto.

  • Optimización de modelos: Puedes identificar y quitar atributos que sean menos importantes, lo que puede generar modelos más eficaces.

Limitaciones conceptuales

Ten en cuenta las siguientes limitaciones de las atribuciones de atributos:

  • Las atribuciones de atributos, incluida la importancia de los atributos locales para AutoML, son específicas de las predicciones individuales. Si inspeccionas una atribución de atributos para una predicción individual, puedes obtener una buena estadística, aunque es posible que esta no se aplique a toda la clase de esa instancia individual ni a todo el modelo.

    Para obtener estadísticas más generalizadas de los modelos de AutoML, consulta la importancia de los atributos del modelo. A fin de obtener estadísticas más generalizables sobre otros modelos, agrega las atribuciones sobre subconjuntos en el conjunto de datos o en todo el conjunto de datos.

  • Cada atribución solo muestra en qué medida la función afectó la predicción de ese ejemplo en particular. Es posible que una sola atribución no refleje el comportamiento general del modelo. Para comprender el comportamiento aproximado del modelo en un conjunto de datos completo, agrega las atribuciones a todo el conjunto de datos.

  • Aunque las atribuciones de atributos pueden ayudar con la depuración de modelos, no siempre indican con claridad si un problema surge del modelo o de los datos con los que este se entrena. Usa tu mejor criterio y diagnostica problemas de datos comunes para reducir el rango de causas posibles.

  • Las atribuciones dependen en su totalidad del modelo y de los datos que se usan para entrenar el modelo. Solo pueden revelar los patrones que el modelo encontró en los datos y no pueden detectar ninguna relación fundamental en estos. La presencia o ausencia de una atribución sólida en una función determinada no significa que exista o no una relación entre dicha función y el objetivo. La atribución solo muestra que el modelo usa o no la característica en sus predicciones.

  • Las atribuciones por sí solas no pueden determinar si el modelo es equitativo, imparcial o de buena calidad. Evalúa con cuidado los datos de entrenamiento y las métricas de evaluación, además de las atribuciones.

Para obtener más información sobre las limitaciones, consulta el Informe sobre AI Explanations.

Mejora las atribuciones de funciones

Los siguientes factores tienen el mayor impacto en las atribuciones de funciones:

  • Los métodos de atribución se aproximan al valor de Shapley. Para aumentar la precisión de la aproximación, aumenta la cantidad de rutas del método de Shapley con muestreo. Como resultado, las atribuciones podrían cambiar de forma significativa.
  • Las atribuciones solo indican en qué medida la función afectó el cambio en el valor de predicción, en relación con el valor del modelo de referencia. Asegúrate de elegir un modelo de referencia significativo, pertinente a la pregunta que haces sobre el modelo. Los valores de atribución y su interpretación pueden cambiar de forma significativa a medida que cambias de modelo de referencia.

Puedes ver el recuento de rutas y los modelos de referencia en los metadatos y parámetros de explicación.

Visualiza parámetros y metadatos de explicación

Los metadatos y parámetros de explicación contienen lo siguiente:

  • static_value: Los modelos de referencia que se usan para generar explicaciones.
  • pathCount: La cantidad de rutas de acceso, un factor en la cantidad de tiempo que lleva generar atribuciones de atributos.
  • historical_values, prediction_values: Columnas disponibles en la previsión.
  • historical_values: Columnas no disponibles en la previsión.

El modelo se puede ver con la API de REST de Vertex AI e incluye la especificación de la explicación.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Región en la que se almacena tu modelo.
  • PROJECT: El ID del proyecto.
  • MODEL_ID: El ID del recurso de modelo

Método HTTP y URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID "

PowerShell

Ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID " | Select-Object -Expand Content

Deberías ver un resultado similar al siguiente para un modelo de AutoML entrenado.

Algoritmo

Vertex AI proporciona atribuciones de funciones mediante Valores de Shapley, un algoritmo cooperativo de teoría de juegos que asigna crédito a cada jugador para obtener un resultado en particular. Cuando se aplica a los modelos de aprendizaje automático, cada atributo del modelo se considera un “jugador” del juego y se asigna crédito en proporción al resultado de una predicción en particular. Para los modelos de datos estructurados, Vertex AI usa una aproximación de muestreo de los valores exactos de Shapley llamados Shapley con muestreo.

Para obtener información detallada sobre cómo funciona el método de Shapley de muestra, lee el documento Cómo limitar el error de estimación de la aproximación de valores de Shapley basada en la muestra.

¿Qué sigue?

Los siguientes recursos proporcionan material educativo más útil: