Tous les produits
Search
Centre de documentation

:Fonctions de prédiction et de détection d'anomalies

Dernière mise à jour :Aug 18, 2026

Pour détecter les anomalies, utilisez une fonction de prédiction et de détection d'anomalies afin de prévoir une courbe de série temporelle et d'identifier les écarts Ksigma ainsi que les quantiles entre la courbe prévue et la courbe réelle.

Liste des fonctions

Fonction

Description

ts_predicate_simple

Utilise des paramètres par défaut pour modéliser les données de série temporelle et effectue une prédiction simple ainsi qu'une détection d'anomalies.

ts_predicate_ar

Recourt à un modèle autorégressif (AR) pour modéliser les données de série temporelle et réalise une prédiction simple accompagnée d'une détection d'anomalies.

ts_predicate_arma

S'appuie sur un modèle autorégressif à moyenne mobile (ARMA) pour modéliser les données de série temporelle et exécute une prédiction simple avec détection d'anomalies.

ts_predicate_arima

Employe un modèle autorégressif intégré à moyenne mobile (ARIMA) pour modéliser les données de série temporelle et assure une prédiction simple ainsi qu'une détection d'anomalies.

ts_regression_predict

Prédit avec précision la tendance d'une courbe de série temporelle périodique.

Scénario : Cette fonction permet de prévoir des données de facturation, le trafic réseau, des données financières et diverses données métier suivant certaines règles.

ts_anomaly_filter

Filtre les anomalies détectées lors de l'analyse de plusieurs courbes de séries temporelles selon un mode d'anomalie personnalisé. Cette fonction vous aide à identifier rapidement les courbes anormales.

ts_predicate_simple

Format de la fonction :

select ts_predicate_simple(x, y, nPred, isSmooth) 

Le tableau suivant répertorie les paramètres du format de la fonction.

Paramètre

Description

Valeur

x

La séquence temporelle. Les points temporels sont triés par ordre croissant sur l'axe horizontal.

Chaque point temporel correspond à un horodatage Unix. Unité : secondes.

y

La séquence de données numériques correspondant à chaque point temporel spécifié.

S.O.

nPred

Le nombre de points à prédire.

La valeur est de type long et doit être supérieure ou égale à 1.

isSmooth

Indique s'il faut filtrer les données brutes.

La valeur est de type booléen. La valeur par défaut est true, ce qui signifie que les données brutes sont filtrées.

Exemple :

  • L'instruction de requête est la suivante :

    * | select ts_predicate_simple(stamp, value, 6) from (select ("__time__" - ("__time__" % 60)) as stamp, avg(v) as value from log GROUP BY stamp order by stamp)
  • Résultat de sortie The following figure shows the output result.

Le tableau suivant liste les éléments affichés.

Élément affiché

Description

Axe horizontal

unixtime

L'horodatage Unix des données. Unité : secondes.

Axe vertical

src

Les données brutes.

predict

Les données générées après l'opération de filtrage.

upper

La limite supérieure de l'intervalle de confiance. Le niveau de confiance est de 0,85 et ne peut pas être modifié.

lower

La limite inférieure de l'intervalle de confiance. Le niveau de confiance est de 0,85 et ne peut pas être modifié.

anomaly_prob

La probabilité que le point soit une anomalie. Valeurs valides : [0, 1].

ts_predicate_ar

Format de la fonction :

select ts_predicate_ar(x, y, p, nPred, isSmooth) 

Le tableau suivant répertorie les paramètres du format de la fonction.

Paramètre

Description

Valeur

x

La séquence temporelle. Les points temporels sont triés par ordre croissant sur l'axe horizontal.

Chaque point temporel correspond à un horodatage Unix. Unité : secondes.

y

La séquence de données numériques correspondant à chaque point temporel spécifié.

S.O.

p

L'ordre du modèle AR.

La valeur est de type long. Valeurs valides : 2, 3, 4, 5, 6, 7 et 8.

nPred

Le nombre de points à prédire.

La valeur est de type long. Valeurs valides : [1, 5 × p].

isSmooth

Indique s'il faut filtrer les données brutes.

La valeur est de type booléen. La valeur par défaut est true, ce qui signifie que les données brutes sont filtrées.

Voici un exemple d'instruction de requête :

* | select ts_predicate_ar(stamp, value, 3, 4) from (select ("__time__" - ("__time__" % 60)) as stamp, avg(v) as value from log GROUP BY stamp order by stamp)
Remarque

Le résultat de sortie est similaire à celui de la fonction ts_predicate_simple. Pour plus de détails, reportez-vous au résultat de sortie de la fonction ts_predicate_simple.

ts_predicate_arma

Format de la fonction :

select ts_predicate_arma(x, y, p, q, nPred, isSmooth) 

Le tableau suivant répertorie les paramètres du format de la fonction.

Paramètre

Description

Valeur

x

La séquence temporelle. Les points temporels sont triés par ordre croissant sur l'axe horizontal.

Chaque point temporel correspond à un horodatage Unix. Unité : secondes.

y

La séquence de données numériques correspondant à chaque point temporel spécifié.

S.O.

p

L'ordre du modèle AR.

La valeur est de type long. Valeurs valides : [2, 100].

q

L'ordre du modèle ARMA.

La valeur est de type long. Valeurs valides : 2, 3, 4, 5, 6, 7 et 8.

nPred

Le nombre de points à prédire.

La valeur est de type long. Valeurs valides : [1, 5 × p].

isSmooth

Indique s'il faut filtrer les données brutes.

La valeur est de type booléen. La valeur par défaut est true, ce qui signifie que les données brutes sont filtrées.

Voici un exemple d'instruction de requête :

* | select ts_predicate_arma(stamp, value, 3, 2, 4) from (select ("__time__" - ("__time__" % 60)) as stamp, avg(v) as value from log GROUP BY stamp order by stamp) 
Remarque

Le résultat de sortie est similaire à celui de la fonction ts_predicate_simple. Pour plus de détails, reportez-vous au résultat de sortie de la fonction ts_predicate_simple.

ts_predicate_arima

Format de la fonction :

select ts_predicate_arima(x, y, p, d, q, nPred, isSmooth) 

Le tableau suivant répertorie les paramètres du format de la fonction.

Paramètre

Description

Valeur

x

La séquence temporelle. Les points temporels sont triés par ordre croissant sur l'axe horizontal.

Chaque point temporel correspond à un horodatage Unix. Unité : secondes.

y

La séquence de données numériques correspondant à chaque point temporel spécifié.

S.O.

p

L'ordre du modèle AR.

La valeur est de type long. Valeurs valides : 2, 3, 4, 5, 6, 7 et 8.

d

L'ordre du modèle ARIMA.

La valeur est de type long. Valeurs valides : [1, 3].

q

L'ordre du modèle ARMA.

La valeur est de type long. Valeurs valides : 2, 3, 4, 5, 6, 7 et 8.

nPred

Le nombre de points à prédire.

La valeur est de type long. Valeurs valides : [1, 5 × p].

isSmooth

Indique s'il faut filtrer les données brutes.

La valeur est de type booléen. La valeur par défaut est true, ce qui signifie que les données brutes sont filtrées.

Voici un exemple d'instruction de requête :

* | select ts_predicate_arima(stamp, value, 3, 1, 2, 4) from (select ("__time__" - ("__time__" % 60)) as stamp, avg(v) as value from log GROUP BY stamp order by stamp)
Remarque

Le résultat de sortie est similaire à celui de la fonction ts_predicate_simple. Pour plus de détails, reportez-vous au résultat de sortie de la fonction ts_predicate_simple.

ts_regression_predict

Format de la fonction :

select ts_regression_predict(x, y, nPred, algotype,processType)

Le tableau suivant répertorie les paramètres du format de la fonction.

Paramètre

Description

Valeur

x

La séquence temporelle. Les points temporels sont triés par ordre croissant sur l'axe horizontal.

Chaque point temporel correspond à un horodatage Unix. Unité : secondes.

y

La séquence de données numériques correspondant à chaque point temporel spécifié.

S.O.

nPred

Le nombre de points à prédire.

La valeur est de type long. Valeurs valides : [1, 500].

algotype

Le type d'algorithme utilisé pour la prédiction.

Valeurs valides :

  • origin : utilise l'algorithme Gradient Boosted Regression Tree (GBRT) pour la prédiction.

  • forest : utilise l'algorithme GBRT pour la prédiction basée sur les composantes de tendance décomposées par la décomposition saisonnière et de tendance utilisant Loess (STL), puis applique un modèle additif pour sommer les composantes décomposées et obtenir les données prédites.

  • linear : utilise l'algorithme de régression linéaire pour la prédiction basée sur les composantes de tendance décomposées par STL, puis applique un modèle additif pour sommer les composantes décomposées et obtenir les données prédites.

processType

Indique s'il faut prétraiter les données.

Valeurs valides :

  • 0 : Aucun prétraitement supplémentaire des données n'est effectué.

  • 1 : Les données anormales sont supprimées avant la prédiction.

Exemple :

  • L'instruction de requête est la suivante :

    * and h : nu2h05202.nu8 and m: NET |  select ts_regression_predict(stamp, value, 200, 'origin') from (select ("__time__" - ("__time__" % 60)) as stamp, avg(v) as value from log group by stamp order by stamp)
  • Résultat de sortie The following figure shows the output result.

Le tableau suivant liste les éléments affichés.

Élément affiché

Description

Axe horizontal

unixtime

L'horodatage Unix des données. Unité : secondes.

Axe vertical

src

Les données brutes.

predict

Les données générées après l'opération de filtrage.

ts_anomaly_filter

Format de la fonction :

select ts_anomaly_filter(lineName, ts, ds, preds, probs, nWatch, anomalyType)

Le tableau suivant répertorie les paramètres du format de la fonction.

Paramètre

Description

Valeur

lineName

Le nom de chaque courbe. La valeur est de type varchar.

S.O.

ts

La séquence temporelle de la courbe, indiquant le temps sur la courbe actuelle. La valeur du paramètre est un tableau de points temporels de type double, triés par ordre croissant.

S.O.

ds

La séquence de valeurs réelles de la courbe. La valeur du paramètre est un tableau de points de données de type double. Cette valeur a la même longueur que celle du paramètre ts.

S.O.

preds

La séquence de valeurs prédites de la courbe. La valeur du paramètre est un tableau de points de données de type double. Cette valeur a la même longueur que celle du paramètre ts.

S.O.

probs

La séquence des résultats de détection d'anomalies de la courbe. La valeur du paramètre est un tableau de points de données de type double. Cette valeur a la même longueur que celle du paramètre ts.

S.O.

nWatch

Le nombre de valeurs réelles récemment observées sur la courbe. La valeur est de type long. Elle doit être inférieure au nombre de points temporels sur la courbe.

S.O.

anomalyType

Le type d'anomalie à filtrer. La valeur est de type long.

Valeurs valides :

  • 0 : toutes les anomalies

  • 1 : anomalies positives

  • -1 : anomalies négatives

Exemple :

  • L'instruction de requête est la suivante :

    * | select res.name, res.ts, res.ds, res.preds, res.probs 
         from ( 
             select ts_anomaly_filter(name, ts, ds, preds, probs, cast(5 as bigint), cast(1 as bigint)) as res 
           from (
             select name, res[1] as ts, res[2] as ds, res[3] as preds, res[4] as uppers, res[5] as lowers, res[6] as probs 
         from (
             select name, array_transpose(ts_predicate_ar(stamp, value, 10)) as res 
             from (
               select name, stamp, value from log where name like '%asg-%') group by name)) );
  • Résultat de sortie

    | name                     | ts                                                   | ds          | preds     | probs       |
    | ------------------------ | ---------------------------------------------------- | ----------- | --------- | ----------- |
    | asg-bp1hylzdi2wx7civ0ivk | [1.5513696E9, 1.5513732E9, 1.5513768E9, 1.5513804E9] | [1,2,3,NaN] | [1,2,3,4] | [0,0,1,NaN] |