Solución de problemas

Acceso

No se ha podido añadir Timeseries Insights DataSet Owner a la cuenta de servicio

Es posible que el rol "Propietario de conjuntos de datos para análisis de series temporales" no se muestre en la interfaz de usuario. Puedes usar el ID de rol roles/timeseriesinsights.datasetsOwner con el comando gcloud para conceder el acceso necesario.

 gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
      --member="serviceAccount:${SVC_ACCOUNT}" \
      --role=roles/timeseriesinsights.datasetsOwner \
      --condition=None

Detección de anomalías

En esta sección se describen algunos pasos de depuración habituales para entender las respuestas de la API Timeseries Insights si no se ajustan a tus expectativas.

Porciones vacías

Al ejecutar una consulta de Timeseries Insights en un conjunto de datos cargado, es posible que recibas una respuesta vacía.

Example empty response,
{'name': 'projects/demo-project/datasets/demo-dataset',
'slices': []}

Los slices vacíos indican que no hay puntos de datos en los intervalos de tiempo solicitados [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity].

También puedes probar a consultar una porción explícita que esperes que esté presente en el conjunto de datos mediante la API evaluateSlice. De esta forma, el sistema devuelve la serie temporal del segmento dado y su estado de evaluación.

ForecastResult.label INSUFFICIENT_DATA

Cuando ejecutes una consulta o una evaluateSlice de la API Timeseries Insights, es posible que veas INSUFFICIENT_DATA como ForecastResultLabel por segmento. Esto significa que no tenemos suficientes datos para clasificar las porciones concretas.

Código de estado: 3. Mensaje: Got density = xx. Densidad mínima = yy

En el siguiente ejemplo de código, el usuario ha pedido a la API Timeseries Insights que haga la clasificación si el 90% de los puntos de datos están presentes en los intervalos de tiempo solicitados [detectionTime - TimeseriesParams.forecastHistory, detectionTime]. La API Timeseries Insights no puede proporcionar una clasificación porque solo el 1% de los puntos de datos no están vacíos en el intervalo de la serie temporal.

"status": {
  "code": 3,
  "message": "Got density = 1. Min density = 90"
}

Pruebe a experimentar con los siguientes parámetros en la solicitud para entender por qué pueden no existir los puntos de datos.

  • detectionTime y TimeseriesParams

    • Asegúrate de que [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity] sea un subintervalo de todos los eventos disponibles en tu conjunto de datos para que la API Timeseries Insights tenga suficiente historial con el que trabajar. Para ello, es posible que tengas que elegir un detectionTime que esté cerca del final de la serie temporal.

    • La API Timeseries Insights crea una serie temporal retrocediendo en el tiempo desde la detectionTime. El tiempo que retrocedemos y el número de puntos que se incluyen en la serie temporal se determinan mediante TimeseriesParams.forecastHistory y TimeseriesParams.granularity.

    • Empieza con un minDensity = 0.0 si no tienes claro cuál es la densidad real de los eventos del conjunto de datos. Ajusta el parámetro para obtener una mayor precisión más adelante.

También puedes consultar las definiciones de los parámetros de series temporales.