Fehlerbehebung

Zugriff

Timeseries Insights DataSet Owner konnte dem Dienstkonto nicht hinzugefügt werden

Inhaber von „Timeseries Insights DataSet“ Rolle wird in der UI möglicherweise nicht angezeigt. Sie können die Rollen-ID roles/timeseriesinsights.datasetsOwner mit dem gcloud-Befehl verwenden, um den erforderlichen Zugriff zu gewähren.

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

Anomalieerkennung

In diesem Abschnitt werden einige Schritte zur Fehlerbehebung beschrieben, Timeseries Insights API-Antworten, wenn diese von Ihren Erwartungen abweichen.

Leere Segmente

Beim Ausführen einer Abfrage von Zeitachsenstatistiken für ein geladenes Dataset haben, erhalten Sie möglicherweise ein leeres response.

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

Leere slices geben an, dass es in den angeforderten Zeitintervallen [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity] keine Datenpunkte gibt.

Alternativ können Sie versuchen, ein explizites Slice abzufragen, von dem Sie erwarten, mithilfe der Methode evaluateSlice der API erstellen. Dadurch wird das System gezwungen, die Zeitreihe für das entsprechende Segment zurückzugeben. und ihren Bewertungsstatus.

ForecastResult.label INSUFFICIENT_DATA

Beim Ausführen einer Timeseries Insights API Suchanfrage oder evaluateSlice Möglicherweise wird INSUFFICIENT_DATA als ForecastResultLabel pro Segment angezeigt. Das bedeutet, dass uns nicht genügend Daten vorliegen, um die entsprechenden Segmente zu klassifizieren.

Statuscode: 3. Nachricht: Got density = xx. Min. Dichte = yy

Im folgenden Codebeispiel hat der Nutzer die Timeseries Insights API gebeten, die Klassifizierung vorzunehmen, wenn 90 % der Datenpunkte in den angeforderten Zeitintervallen [detectionTime - TimeseriesParams.forecastHistory, detectionTime] vorhanden sind. Die TimeSeries Insights API kann keine Klassifizierung liefern, da nur 1 % der Datenpunkte im Zeitreihenintervall nicht leer sind.

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

Experimentieren Sie mit den folgenden Parametern in der Anfrage, um zu verstehen, warum die Datenpunkte sind möglicherweise nicht vorhanden.

  • DetectionTime und TimeseriesParams

    • Achten Sie darauf, dass [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity] ist eine Unterbereiche aller in Ihrem Dataset verfügbaren Ereignisse, sodass ein ausreichender Verlauf für Timeseries Insights API, mit der Sie arbeiten können. Hierfür ist möglicherweise wählen Sie eine detectionTime aus, die nahe am Ende der Zeitreihe ist.

    • Die Timeseries Insights API erstellt eine Zeitreihe, indem sie in der Zeitreihe vom detectionTime Wie weit wir in der Zeit zurückgehen und wie viele Punkte in der Zeitreihe enthalten sind, wird durch „TimeseriesParams.forecastHistory“ und „TimeseriesParams.granularity“ bestimmt.

    • Beginnen Sie mit einer minDensity = 0.0, wenn Sie sich nicht sicher sind, wie hoch die tatsächliche Dichte der Ereignisse im Datensatz ist. Passen Sie den Parameter an, um eine bessere später noch genauer an.

Konzepte für Zeitreihen für Parameterdefinitionen.