Dépannage

Accès

Impossible d'ajouter Timeseries Insights DataSet Owner au compte de service

Il est possible que le rôle "Propriétaire d'ensemble de données d'insights sur les séries temporelles" ne s'affiche pas dans l'interface utilisateur. Vous pouvez utiliser l'ID de rôle roles/timeseriesinsights.datasetsOwner avec la commande gcloud pour accorder l'accès nécessaire.

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

Détection d'anomalies

Cette section décrit certaines étapes de débogage courantes pour comprendre les réponses de l'API Timeseries Insights si elles sont différentes de vos attentes.

Segments vides

Lors de l'exécution d'une requête d'insights sur les séries temporelles sur un ensemble de données chargé, vous pouvez recevoir une réponse réponse.

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

Les slices vides indiquent qu'il n'y a pas de points de données dans les intervalles de temps [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity] demandés.

Vous pouvez également essayer de rechercher un segment explicite être présentes dans l'ensemble de données à l'aide de la fonction evaluateSlice API. Cela oblige le système à renvoyer la série temporelle pour la tranche donnée et son état d'évaluation.

ForecastResult.label INSUFFICIENT_DATA

Lors de l'exécution d'une API Timeseries Insights requête ou evaluateSlice, vous pouvez observer INSUFFICIENT_DATA comme ForecastResultLabel par tranche. Cela signifie que nous ne disposons pas de données suffisantes pour classer les segments en question.

code d'état: 3. message: Densité obtenue = xx. Densité minimale = yy

Dans l'exemple de code suivant, l'utilisateur a demandé à l'API Timeseries Insights d'effectuer la classification si 90 % des points de données sont présents dans les intervalles de temps [detectionTime - TimeseriesParams.forecastHistory, detectionTime] demandés. L'API Timeseries Insights ne peut pas fournir de classification, car seul 1 % des points de données n'est pas vide dans l'intervalle de la série temporelle.

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

Essayez d'utiliser les paramètres suivants dans la requête pour comprendre pourquoi les points de données peuvent ne pas exister.

  • détectionTime et TimeseriesParams

    • Assurez-vous que [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity] est une sous-plage de tous les événements disponibles dans votre ensemble de données afin que l'API Timeseries Insights dispose d'un historique suffisant. Vous devrez peut-être choisir un detectionTime proche de la fin de la série temporelle.

    • L'API Timeseries Insights crée une série temporelle en remontant le temps à partir de l'detectionTime. La période à laquelle nous remontons dans le temps et le nombre de points inclus dans la série temporelle sont déterminés par TimeseriesParams.forecastHistory et TimeseriesParams.granularity.

    • Commencez par un minDensity = 0.0 si vous n'êtes pas sûr de la valeur réelle des événements dans l'ensemble de données. Affinez le paramètre pour une meilleure précision par la suite.

Consultez également la page Concepts de séries temporelles. pour les définitions des paramètres.