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 undetectionTime
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.