Langue

SrCnnAnomalyEstimator Classe

Définition

Détecter les anomalies dans les séries chronologiques à l’aide de l’algorithme Specter Residual(SR)

public sealed class SrCnnAnomalyEstimator : Microsoft.ML.Data.TrivialEstimator<Microsoft.ML.Transforms.TimeSeries.SrCnnAnomalyDetector>
type SrCnnAnomalyEstimator = class
    inherit TrivialEstimator<SrCnnAnomalyDetector>
Public NotInheritable Class SrCnnAnomalyEstimator
Inherits TrivialEstimator(Of SrCnnAnomalyDetector)
Héritage

Remarques

Pour créer cet estimateur, utilisez DetectAnomalyBySrCnn

Caractéristiques de l’estimateur

Cet estimateur doit-il examiner les données pour entraîner ses paramètres ? Non
Type de données de colonne d’entrée Single
Type de données de colonne de sortie Vecteur de 3 éléments deDouble
Exportable vers ONNX Non

Background

À Microsoft, nous avons développé un service de détection des anomalies de série chronologique qui aide les clients à surveiller la série chronologique en continu et à alerter les incidents potentiels à temps. Pour résoudre le problème de la détection d’anomalies de série chronologique, nous proposons un nouvel algorithme basé sur le réseau neuronal convolutionnel (SR) et le réseau neuronal convolutionnel (CNN). Le modèle SR est emprunté du domaine de détection de la saliency visuelle à la détection des anomalies de série chronologique. Et ici, nous avons intégré d’abord cet algorithme SR.

L’algorithme sr (Spectur Residual) n’est pas supervisé, ce qui signifie que l’étape d’entraînement n’est pas nécessaire lors de l’utilisation de SR. Il se compose de trois étapes principales : (1) Transformation de Fourier pour obtenir le spectre de l’amplitude du journal ; (2) calcul de résidus spectraux ; (3) Transformation inverse de Fourier qui transforme la séquence en domaine spatial. Mathématiquement, étant donné une séquence $\mathbf{x}$, nous avons $$A(f) = Amplitude(\mathfrak{F}(\mathbf{x})\P(f) = Phrase(\mathfrak{F}(\mathbf{x})\L(f) = log(A(f)\AL(f) = h_n(f) \cdot L(f))\R(f) = L(f) - AL(f)\S(\mathbf{x}) = \mathfrak{F}^{-1}(exp(R(f) + P(f))^{2})$$ où $\mathfrak{F}$ et $\mathfrak{F}^{-1}$ dénotent respectivement Fourier Transform and Inverse Fourier Transform. $\mathbf{x}$ est la séquence d’entrée avec la forme $n × 1$ ; $A(f)$ est le spectre d’amplitude de la séquence $\mathbf{x}$ ; $P(f)$ correspond au spectre de phase de séquence $\mathbf{x}$ ; $L(f)$ est la représentation de journal de $A(f)$ ; et $AL(f)$ est le spectre moyen de $L(f)$ qui peut être approximatif en convolutant la séquence d’entrée par $h_n(f)$, où $h_n(f)$ est une matrice $n × n$ définie comme suit : $$n_f(f) = \begin{bmatrix}1&1&>\cdots&1\1\1 &1&1&\cdots&1\\vdots&\vdots&\vdots&\vdots&\ddots&\vdots\1&1&&\cdots&1\ end{bmatrix}$$ $R(f)$ est le résidu spectraux, c’est-à-dire le spectre des journaux $L(f)$ soustrayant le spectre du journal moyen $AL(f)$. Le résidu spectraux sert de représentation compressée de la séquence tandis que la partie innovation de la séquence d’origine devient plus significative. Enfin, nous transférons la séquence vers le domaine spatial via la transformation Inverse Fourier. La séquence de résultats $S(\mathbf{x})$ est appelée carte de saliency. Étant donné la $S(\mathbf{x})$, la séquence de sortie $O(\mathbf{x})$ est calculée par : $$O(x_i) = \begin{cases}1, si \frac{S(x_i)-\overline{S(x_i)}}{S(x_i)} > \tau\0,sinon,\end{cases}$$ où $x_i$ représente un point arbitraire dans la séquence $\mathbf{x}$ ; $S(x_i)$is le point correspondant dans la carte de saliency ; et $\overline{S(x_i)}$ est la moyenne locale des points précédents de $S(x_i)$.

Il existe plusieurs paramètres pour l’algorithme SR. Pour obtenir un modèle avec de bonnes performances, nous vous suggérons d’ajuster la fenêtreSize et le seuil au début, il s’agit des paramètres les plus importants pour SR. Ensuite, vous pouvez rechercher un jugement appropriéWindowSize qui n’est pas plus grand que windowSize. Pour les paramètres restants, vous pouvez utiliser directement la valeur par défaut.

Pour plus d’informations, reportez-vous au service de détection d’anomaliesTime-Series sur Microsoft papier.

Méthodes

Nom Description
Fit(IDataView)

Détecter les anomalies dans les séries chronologiques à l’aide de l’algorithme Specter Residual(SR)

(Hérité de TrivialEstimator<TTransformer>)
GetOutputSchema(SchemaShape)

Détecter les anomalies dans les séries chronologiques à l’aide de l’algorithme Specter Residual(SR)

Méthodes d’extension

Nom Description
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

Ajoutez un « point de contrôle de mise en cache » à la chaîne d’estimateur. Cela garantit que les estimateurs en aval seront entraînés par rapport aux données mises en cache. Il est utile d’avoir un point de contrôle de mise en cache avant les formateurs qui prennent plusieurs passes de données.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

En fonction d’un estimateur, retournez un objet de création de package de restrictions qui appellera un délégué une fois Fit(IDataView) appelé. Il est souvent important pour un estimateur de retourner des informations sur ce qui était adapté, c’est pourquoi la Fit(IDataView) méthode retourne un objet spécifiquement typé, plutôt que simplement un général ITransformer. Toutefois, en même temps, IEstimator<TTransformer> sont souvent formés en pipelines avec de nombreux objets, nous devrons peut-être construire une chaîne d’estimateurs via EstimatorChain<TLastTransformer> laquelle l’estimateur pour lequel nous voulons obtenir le transformateur est enterré quelque part dans cette chaîne. Pour ce scénario, nous pouvons par le biais de cette méthode attacher un délégué qui sera appelé une fois l’ajustement appelé.

S’applique à

Voir aussi