Partager via


IidChangePointEstimator Classe

Définition

Détectez un changement de signal sur une série chronologique distribuée de manière indépendante (i.i.d.) en fonction de l’estimation de densité de noyau adaptative et des martingales.

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

Remarques

Pour créer cet estimateur, utilisez DetectIidChangePoint.

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 ? Non
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

Ce formateur part du principe que les points de données collectés dans la série chronologique sont échantillonnés indépendamment de la même distribution (indépendamment distribués de la même manière). Par conséquent, la valeur de l’horodatage actuel peut être vue comme valeur à l’horodatage suivant dans l’attente. Si la valeur observée au timestamp $t-1$ est $p$, la valeur prédite à $t$ timestamp serait également $p$.

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)

Détectez un changement de signal sur une série chronologique distribuée de manière indépendante (i.i.d.) en fonction de l’estimation de densité de noyau adaptative et des martingales.

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

Retourne le SchemaShape schéma qui sera produit par le transformateur. Utilisé pour la propagation et la vérification du schéma dans un pipeline.

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