SsaChangePointEstimator Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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é. |