<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>' ]
)
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
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
'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 |
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 Si le champ |
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.