Solução de problemas

Acesso

Não foi possível adicionar Timeseries Insights DataSet Owner à conta de serviço

Talvez o papel "Proprietário do conjunto de dados de Insights da série temporal" não apareça na interface. É possível usar o ID do papel roles/timeseriesinsights.datasetsOwner com gcloud para conceder o acesso necessário.

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

Detecção de anomalias

Esta seção apresenta algumas etapas de depuração comuns para entender os Respostas da API Timeseries Insights se forem diferentes das suas expectativas.

Fatias vazias

Ao executar uma consulta dos Insights de séries temporais em um conjunto de dados carregado, você pode receber uma resposta vazia.

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

slices vazios indicam que não há pontos de dados nos intervalos de tempo [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity] solicitados.

Como alternativa, você pode tentar consultar uma fração explícita que espera estar presente no conjunto de dados usando o evaluateSlice API. Isso força o sistema a retornar a série temporal da fatia especificada e o status de avaliação dela.

ForecastResult.label INSUFFICIENT_DATA

Ao executar uma API Timeseries Insights consulta ou evaluateSlice, você pode observar INSUFFICIENT_DATA como ForecastResultLabel por fração. Isso significa que não temos dados suficientes para classificar as fatias específicas.

status code: 3. message: Got density = xx. Densidade mínima = yy

No exemplo de código abaixo, o usuário pediu à API Timeseries Insights para fazer a classificação se 90% dos pontos de dados estiverem presentes nos intervalos de tempo solicitados [detectionTime - TimeseriesParams.forecastHistory, detectionTime]. A API Timeseries Insights não pode fornecer uma classificação porque apenas 1% dos os pontos de dados não estão vazios no intervalo da série temporal.

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

Teste os parâmetros a seguir na solicitação para entender o motivo os pontos de dados podem não existir.

  • detectionTime e TimeseriesParams

    • Verifique se [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity] é um subintervalo de todos os eventos disponíveis no seu conjunto de dados para que haja histórico suficiente para a API Timeseries Insights funcionar. Isso pode exigir que você escolha um detectionTime próximo do fim da série temporal.

    • A API Timeseries Insights cria uma série temporal voltando no tempo a partir do detectionTime. A quantidade de pontos incluídos na série temporal é determinada por TimeseriesParams.forecastHistory e TimeseriesParams.granularity.

    • Comece com uma minDensity = 0.0 se não tiver certeza da densidade real dos eventos no conjunto de dados. Ajustar o parâmetro para melhorar precisão posteriormente.

Consulte também Conceitos de séries temporais para definições de parâmetros.