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 UI.
É possível usar o ID de função roles/timeseriesinsights.datasetsOwner
com o
comando 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 comuns de depuração para entender as respostas da API Timeseries Insights, caso elas sejam 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, tente consultar uma fatia explícita que você espera que esteja presente no conjunto de dados usando a API evaluateSlice. 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 consulta
da API Timeseries Insights ou
evaluateSlice,
é possível observar INSUFFICIENT_DATA
como o ForecastResultLabel por fatia.
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 pontos de dados não estão vazios no intervalo da série temporal.
"status": { "code": 3, "message": "Got density = 1. Min density = 90" }
Tente testar os parâmetros a seguir na solicitação para entender por que 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 umdetectionTime
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 de tempo e a quantidade de pontos incluídos na série temporal são determinadas 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 a precisão mais tarde.
Consulte também Conceitos de séries temporais para definições de parâmetros.