<Name_des_Modells>!DETECT_ANOMALIES

Erkennt und berichtet Anomalien in den Eingabedaten, die an die Methode übergeben wurden. Dies ist eine Methode des Anomalieerkennungsobjekts, das Sie durch Ausführen des Befehls CREATE SNOWFLAKE.ML.ANOMALY_DETECTION erstellen.

Die Methode gibt eine Tabelle zurück, in der jede Zeile der Eingabedaten als anomal oder nicht anomal gekennzeichnet ist.

Wenn Sie bestimmte Spalten aus den von dieser Methode zurückgegebenen Daten auswählen müssen, können Sie die Methode in der FROM-Klausel einer SELECT-Anweisung aufrufen. Siehe Auswählen von Spalten aus SQL-Klasseninstanzmethoden, die Tabellendaten zurückgeben.

Syntax

<model_name>!DETECT_ANOMALIES(
  INPUT_DATA => <reference_to_data_to_analyze>,
  TIMESTAMP_COLNAME => '<timestamp_column_name>',
  TARGET_COLNAME => '<target_column_name>',
  [ CONFIG_OBJECT => <configuration_object>, ]
  [ SERIES_COLNAME => '<series_column_name>' ]
)
Copy

Bemerkung

model_name ist das Objekt, das Sie durch Ausführen des Befehls CREATE SNOWFLAKE.ML.ANOMALY_DETECTION erstellen.

Argumente

Benötigt:

INPUT_DATA => reference_to_data_to_analyze

Referenz auf die Tabelle, Ansicht oder Abfrage, die die zu analysierenden Daten zurückgibt.

Um diesen Verweis zu erstellen, können Sie das Schlüsselwort TABLE mit dem Tabellennamen, dem Ansichtsnamen oder der Abfrage verwenden, oder Sie können die Funktion SYSTEM$REFERENCE oder SYSTEM$QUERY_REFERENCE aufrufen.

TIMESTAMP_COLNAME => 'timestamp_column_name'

Name der Spalte, die in den Zeitreihendaten die Zeitstempel (TIMESTAMP_NTZ) enthält.

TARGET_COLNAME => 'target_column_name'

Der Namen der Spalte, die die zu analysierenden Daten enthält (Datentyp NUMERIC oder FLOAT).

Optional:

SERIES_COLNAME => 'series_column_name'

Name der Spalte, die den Bezeichner für die Zeitreihe enthält (bei Daten aus mehreren Zeitreihen). Diese Spalte sollte vom Typ VARIANT sein, da sie Werte jeden Typs oder Werte mehrerer Spalten in einem Array enthalten kann.

CONFIG_OBJECT => config_object

OBJECT mit Schlüssel-Wert-Paaren, die zur Konfiguration des Anomalieerkennungs-Jobs verwendet werden.

Schlüssel

Typ

Standard

Beschreibung

prediction_interval

FLOAT

0,99

Wert zwischen 0 und 1, der den Prozentsatz der Beobachtungen angibt, die als Anomalien markiert werden sollen:

  • Für eine weniger strenge Anomalieerkennung (d. h. weniger Beobachtungen identifizieren, die als Anomalien markiert werden), geben Sie einen höheren Wert an.

  • Für eine strengere Anomalieerkennung (d. h. mehr Beobachtungen als Anomalien identifizieren), reduzieren Sie diesen Wert.

on_error

STRING

'ABORT'

Zeichenfolge (Konstante), die die Fehlerbehandlung für die Anomalieerkennungsaufgabe angibt. Dies ist vor allem bei der Erkennung von Anomalien in mehreren Zeitreihen nützlich. Folgende Werte werden unterstützt:

  • 'abort': Operation abbrechen, wenn in einer Zeitreihe ein Fehler auftritt.

  • 'skip': Alle Zeitreihen überspringen, bei denen während der Anomalieerkennung ein Fehler auftritt. Dies ermöglicht eine erfolgreiche Anomalieerkennung für andere Zeitreihen. Die fehlgeschlagenen Zeitreihen sind in der Ausgabe nicht enthalten.

Rückgabewerte

Die Funktion gibt die folgenden Spalten zurück:

Spaltenname

Datentyp

Beschreibung

SERIES

VARIANT

Zeitreihenwert (NULL, wenn Modell mit mehreren Zeitreihen trainiert wurde).

TS

TIMESTAMP_NTZ

Zeitstempel der Daten

Y

FLOAT

Werte der Zeitreihen

FORECAST

FLOAT

Der vorhergesagte Wert zum Zeitpunkt des Zeitstempels.

LOWER_BOUND

FLOAT

Die untere Grenze des Wertes innerhalb des Vorhersageintervalls. Werte, die unter diesem Wert liegen, werden als Anomalien gekennzeichnet.

UPPER_BOUND

FLOAT

Die obere Grenze des Wertes innerhalb des Vorhersageintervalls. Werte, die über diesem Wert liegen, werden als Anomalien gekennzeichnet.

IS_ANOMALY

BOOLEAN

Ist „true“, wenn der Wert eine Anomalie ist; „false“, wenn nicht.

PERCENTILE

FLOAT

Das entsprechende Perzentil des beobachteten Y-Werts im Vorhersageintervall.

Wenn das Perzentil außerhalb von ((1 - alpha) / 2, 1 - (1 - alpha) / 2) liegt, wird der Wert als Anomalie gekennzeichnet. Wenn das Vorhersageintervall beispielsweise 0,95 ist, wäre ein Perzentil von 0,96 keine Anomalie, aber ein Perzentil von 0,98 wäre eine.

Wenn im Feld prediction_interval des Konfigurationsobjekts kein Wert angegeben ist, wird das Standardvorhersageintervall 0,99 verwendet.

DISTANCE

FLOAT

Das Vielfache der Standardabweichung aus der Spalte FORECAST (Z-Wert)

Nutzungshinweise

  • Die Spalten für die Daten, die im Befehl CREATE SNOWFLAKE.ML.ANOMALY_DETECTION (im Konstruktorargument INPUT_DATA) angegeben sind, müssen mit den Spalten der Daten übereinstimmen, die im Argument INPUT_DATA dieser Methode angegeben sind.

    Wenn Sie beispielsweise das Argument SERIES_COLNAME an den Befehl CREATE SNOWFLAKE.ML.ANOMALY_DETECTION übergeben haben, müssen Sie dieser Methode auch das Argument SERIES_COLNAME übergeben. Wenn Sie das Argument SERIES_COLNAME im Befehl weggelassen haben, müssen Sie dieses Argument auch hier weglassen.

  • Wenn die durch die Argumente TIMESTAMP_COLNAME oder TARGET_COLNAME angegebenen Spaltennamen nicht in der Tabelle, Ansicht oder Abfrage enthalten sind, die im Argument INPUT_DATA angegebenen ist, tritt ein Fehler auf.