SsaChangePointEstimator Classe

Définition

Détecter les points de modification dans les séries chronologiques à l’aide de Singular Spectrum Analysis.

public sealed class SsaChangePointEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.TimeSeries.SsaChangePointDetector>
type SsaChangePointEstimator = class
    interface IEstimator<SsaChangePointDetector>
Public NotInheritable Class SsaChangePointEstimator
Implements IEstimator(Of SsaChangePointDetector)
Héritage
SsaChangePointEstimator
Implémente

Remarques

Pour créer cet estimateur, utilisez DetectChangePointBySsa

Colonnes d’entrée et de sortie

Il n’existe qu’une seule colonne d’entrée. La colonne d’entrée doit être Single l’endroit où une Single valeur indique une valeur à un horodatage dans la série chronologique.

Il produit une colonne qui est un vecteur avec 4 éléments. Le vecteur de sortie contient séquentiellement le niveau d’alerte (valeur non nulle signifie un point de modification), le score, la valeur p et la valeur martingale.

Caractéristiques de l’estimateur

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

Caractéristiques de l’estimateur

Tâche d’apprentissage automatique Détection des anomalies
La normalisation est-elle nécessaire ? Non
La mise en cache est-elle requise ? Non
NuGet requis en plus de Microsoft.ML Microsoft.ML.TimeSeries

Détails de l’algorithme d’apprentissage

Cette classe implémente la transformation de détection d’anomalie générale basée sur l’analyse du spectre singulier (SSA). SSA est une infrastructure puissante pour décomposer les séries chronologiques en composants de tendance, de saisonnalité et de bruit, ainsi que de prévoir les valeurs futures de la série chronologique. En principe, SSA effectue une analyse spectre sur la série chronologique d’entrée où chaque composant du spectre correspond à une tendance, saisonnière ou sonore dans la série chronologique. Pour plus d’informations sur l’analyse du spectre singulier (SSA), reportez-vous à ce document.

Scoreur d’anomalie

Une fois que le score brut à un horodatage est calculé, il est alimenté au composant du scoreur d’anomalies pour calculer le score d’anomalie final à cet horodatage. Il existe deux statistiques impliquées dans ce scoreur, p-value et martingale score.

Score P-value

Le score p-value indique la valeur p du score brut calculé actuel en fonction d’une distribution des scores bruts bruts. Ici, la distribution est estimée en fonction des valeurs de score brut les plus récentes jusqu’à une certaine profondeur dans l’historique. Plus précisément, cette distribution est estimée à l’aide de l’estimation de densité du noyau avec les noyaux gaussiens de bande passante adaptative. Le score p-value est toujours en $[0, 1]$, et plus sa valeur est inférieure, plus le point actuel est hors norme (également appelé pic).

Détection de point de modification basée sur le score martingale

Le score martingale est un niveau supplémentaire de scoring basé sur les scores p-value. L’idée est basée sur les martingales d’échange qui détectent un changement de distribution sur un flux de valeurs i.i.d. . En bref, la valeur du score martingale commence à augmenter considérablement lorsqu’une séquence de petites valeurs p détectées dans une ligne; cela indique la modification de la distribution du processus de génération de données sous-jacent. Ainsi, le score martingale est utilisé pour la détection des points de modification. Compte tenu d’une séquence de p-values observées récemment, $p 1, \dots, p_n$, le score martingale est calculé comme suit : $s(p1, \dots, p_n) = \prod_{i=1}^n \beta(p_i)$. Il existe deux choix de $\beta$ : $\beta(p) = e p^{\epsilon - 1}$ pour $0 < \epsilon < 1$ ou $\beta(p) = \int_{0}^1 \epsilon p^{\epsilon - 1} d\epsilon$.

Si le score martingle dépasse $s(q_1, \dots, q_n)$ où $q_i=1 - \frac{\text{confidence}}{100}$, l’horodatage associé peut obtenir une valeur d’alerte non nulle pour la détection des points de modification. Notez que $\text{confidence}$ est défini dans les signatures de DetectChangePointBySsa ou DetectIidChangePoint.

Consultez la section Voir aussi pour obtenir des liens vers des exemples d’utilisation.

Méthodes

Fit(IDataView)

Entraîner et retourner un transformateur.

GetOutputSchema(SchemaShape)

Propagation de schéma pour les transformateurs. Retourne le schéma de sortie des données, si le schéma d’entrée est semblable à celui fourni.

Méthodes d’extension

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>)

Étant donné 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 qu’un estimateur retourne 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 pouvons donc avoir besoin de créer une chaîne d’estimateurs par EstimatorChain<TLastTransformer> le biais de 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