<nom_du_modèle>!DETECT_ANOMALIES

Détecte et signale les anomalies dans les données d’entrée transmises à la méthode. Il s’agit d’une méthode de l’objet de détection d’anomalies que vous créez en exécutant la commande CREATE SNOWFLAKE.ML.ANOMALY_DETECTION.

La méthode renvoie une table dans laquelle chaque ligne des données d’entrée est qualifiée d’anormale ou non.

Si vous devez sélectionner des colonnes spécifiques des données renvoyées par cette méthode, vous pouvez appeler la méthode dans la clause FROM d’une instruction SELECT. Voir Sélection de colonnes à partir de méthodes d’instance de classe SQL renvoyant des données tabulaires.

Syntaxe

<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

Note

model_name est l’objet que vous créez en exécutant la commande CREATE SNOWFLAKE.ML.ANOMALY_DETECTION.

Arguments

Obligatoire :

INPUT_DATA => reference_to_data_to_analyze

Référence à la table, à la vue ou à la requête qui renvoie les données à analyser.

Pour créer cette référence, vous pouvez utiliser le mot-clé TABLE avec le nom de la table, de la vue ou de la requête, ou vous pouvez appeler la fonction SYSTEM$REFERENCE ou SYSTEM$QUERY_REFERENCE.

TIMESTAMP_COLNAME => 'timestamp_column_name'

Nom de la colonne contenant les horodatages (TIMESTAMP_NTZ) dans les données de série temporelle.

TARGET_COLNAME => 'target_column_name'

Nom de la colonne contenant les données à analyser (type NUMERIC ou FLOAT).

Facultatif :

SERIES_COLNAME => 'series_column_name'

Nom de la colonne contenant l’identificateur de la série (pour les données multi-séries). Cette colonne doit être un VARIANT, car elle peut contenir n’importe quel type de valeur ou des valeurs provenant de plusieurs colonnes d’un tableau.

CONFIG_OBJECT => config_object

OBJECT contenant des paires clé-valeur utilisées pour configurer la tâche de détection d’anomalie.

Clé

Type

Par défaut

Description

prediction_interval

FLOAT

0,99

Valeur comprise entre 0 et 1 qui spécifie le pourcentage des observations qui doivent être marquées comme des anomalies :

  • Pour une détection moins stricte des anomalies (c’est-à-dire pour identifier moins d’observations marquées comme des anomalies), indiquez une valeur plus élevée.

  • Pour une détection plus stricte des anomalies (c’est-à-dire pour identifier davantage d’observations comme des anomalies), réduisez cette valeur.

on_error

STRING

'ABORT'

Chaîne (constante) qui spécifie le traitement des erreurs pour la tâche de détection des anomalies. Cette fonction est particulièrement utile pour détecter des anomalies dans plusieurs séries. Valeurs prises en charge :

  • 'abort' : abandonner l’opération si une erreur est rencontrée dans une série temporelle.

  • 'skip' : ignorer toute série temporelle pour laquelle la détection d’anomalie a rencontré une erreur. Cela permet de détecter les anomalies avec succès pour d’autres séries temporelles. Les séries qui ont échoué sont absentes des résultats.

Renvoie

La fonction renvoie les colonnes suivantes :

Nom de la colonne

Type de données

Description

SERIES

VARIANT

Valeur de la série (NULL si l’entraînement du modèle a été effectué avec une seule série temporelle).

TS

TIMESTAMP_NTZ

Horodatages des données

Y

FLOAT

Valeurs des séries temporelles

FORECAST

FLOAT

Valeur prédite au moment de l’horodatage.

LOWER_BOUND

FLOAT

Limite inférieure de la valeur dans l’intervalle de prédiction. Les valeurs inférieures à ce seuil sont signalées comme des anomalies.

UPPER_BOUND

FLOAT

Limite supérieure de la valeur dans l’intervalle de prédiction. Les valeurs supérieures à ce seuil sont signalées comme des anomalies.

IS_ANOMALY

BOOLEAN

Vrai si la valeur est une anomalie ; faux si elle ne l’est pas.

PERCENTILE

FLOAT

Centile correspondant de la valeur Y observée compte tenu de l’intervalle de prédiction.

Si le centile est en dehors de ((1 - alpha) / 2, 1 - (1 - alpha) / 2), la valeur est signalée comme une anomalie. Par exemple, si l’intervalle de prédiction est 0,95, un centile de 0,96 ne serait pas une anomalie, mais un centile de 0,98 le serait.

Si le champ prediction_interval n’est pas spécifié dans l’objet de configuration, la valeur par défaut est de 0,99.

DISTANCE

FLOAT

Multiple de l’écart type de la colonne FORECAST (z-score)

Notes sur l’utilisation

  • Les colonnes des données spécifiées dans la commande CREATE SNOWFLAKE.ML.ANOMALY_DETECTION (dans l’argument du constructeur INPUT_DATA) doivent correspondre aux colonnes des données spécifiées dans l’argument INPUT_DATA de cette méthode.

    Par exemple, si vous avez transmis l’argument SERIES_COLNAME à la commande CREATE SNOWFLAKE.ML.ANOMALY_DETECTION , vous devez également transmettre l’argument SERIES_COLNAME à cette méthode. Si vous avez omis l’argument SERIES_COLNAME dans la commande, vous devez omettre cet argument ici.

  • Si les noms de colonnes spécifiés par les arguments TIMESTAMP_COLNAME ou TARGET_COLNAME n’existent pas dans la table, la vue ou la requête spécifiée par l’argument INPUT_DATA, une erreur se produit.