Fehlerbehebung

Zugriff

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

Die Rolle „Inhaber von Datensätzen für Zeitreihen-Analysen“ wird in der Benutzeroberfläche 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 gängige Schritte zur Fehlerbehebung beschrieben, mit denen Sie die Antworten der Timeseries Insights API nachvollziehen können, wenn sie von Ihren Erwartungen abweichen.

Leere Segmente

Wenn Sie eine Abfrage für Zeitreihenanalysen auf einem geladenen Datensatz ausführen, erhalten Sie möglicherweise eine leere Antwort.

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 mithilfe der evaluateSlice API nach einem expliziten Ausschnitt suchen, der im Datensatz vorhanden sein sollte. Dadurch wird das System gezwungen, die Zeitreihe für den angegebenen Ausschnitt und seinen Bewertungsstatus zurückzugeben.

ForecastResult.label INSUFFICIENT_DATA

Wenn Sie eine Abfrage oder evaluateSlice der Timeseries Insights API ausführen, sehen Sie möglicherweise INSUFFICIENT_DATA als ForecastResultLabel pro Sliver. Das bedeutet, dass nicht genügend Daten für die Klassifizierung der einzelnen Segmente vorhanden sind.

Statuscode: 3. Meldung: Dichte = xx erhalten. Min density = 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"
}

Probieren Sie die folgenden Parameter in der Anfrage aus, um herauszufinden, warum die Datenpunkte möglicherweise nicht vorhanden sind.

  • detectionTime und TimeseriesParams

    • [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity] muss ein Teilbereich aller Ereignisse in Ihrem Datensatz sein, damit die Timeseries Insights API genügend Verlaufsdaten hat, mit denen sie arbeiten kann. Möglicherweise müssen Sie dann ein detectionTime auswählen, das sich nahe am Ende der Zeitreihe befindet.

    • Die Timeseries Insights API erstellt eine Zeitreihe, indem sie von der detectionTime aus in der Zeit zurückgeht. 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. Sie können den Parameter später noch optimieren.

Parameterdefinitionen finden Sie unter Zeitreihenkonzepte.