Soluciona problemas

Acceso

No se pudo agregar Timeseries Insights DataSet Owner a la cuenta de servicio

Es posible que el rol “Propietario del conjunto de datos de estadísticas temporales” no se muestre en la IU. Puedes usar el ID de función roles/timeseriesinsights.datasetsOwner con el comando de gcloud para otorgar 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 presentan algunos pasos de depuración comunes para comprender las respuestas de la API de Timeseries Insights si son diferentes de tus expectativas.

Porciones vacías

Cuando ejecutas 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': []}

Un slices vacío indica que no hay datos en los intervalos de tiempo solicitados [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity].

Como alternativa, puedes intentar consultar una porción explícita que esperas que esté presente en el conjunto de datos con la API de evaluateSlice. Esto obliga al sistema a mostrar las series temporales para la porción determinada y su estado de evaluación.

ForecastResult.label INSUFFICIENT_DATA

Cuando ejecutas una consulta o evaluateSlice de la API de Timeseries Insights, puedes observar INSUFFICIENT_DATA como la ForecastResultLabel por fragmento. Esto significa que no tenemos datos suficientes para clasificar las porciones específicas.

código de estado: 3. message: Got density = xx. Densidad mín. = yy

En el siguiente ejemplo de código, el usuario le pidió a la API de Timeseries Insights que realizara la clasificación si el 90% de los datos estaban presentes en los intervalos de tiempo solicitados ([detectionTime - TimeseriesParams.forecastHistory, detectionTime]). La API de Timeseries Insights no puede proporcionar una clasificación, porque solo el 1% de los datos no está vacío en el intervalo de series temporales.

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

Intenta experimentar con los siguientes parámetros en la solicitud para comprender por qué los datos podrían no existir.

  • DetectionTime y TimeseriesParams

    • Asegúrate de que [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity] sea un subrango de todos los eventos disponibles en tu conjunto de datos, de modo que haya suficiente historial para que la API de Timeseries Insights funcione. Esto puede requerir que elijas una detectionTime que esté cerca del final de la serie temporal.

    • La API de Timeseries Insights compila una serie temporal retrocediendo en el tiempo desde detectionTime. Cuánto retrocedemos en el tiempo y cuántos puntos se incluyen en las series temporales están determinados por TimeseriesParams.forecastHistory y TimeseriesParams.granularity.

    • Comienza con un minDensity = 0.0 si no estás seguro de la densidad real de los eventos en el conjunto de datos. Ajusta el parámetro para obtener una mejor precisión más adelante.

Además, consulta Conceptos de series temporales para conocer las definiciones de parámetros.