SsaChangePointEstimator Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erkennen von Änderungspunkten in der Zeitreihe mithilfe der 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)
- Vererbung
-
SsaChangePointEstimator
- Implementiert
Hinweise
Verwenden Sie "DetectChangePointBySsa", um diese Schätzung zu erstellen.
Eingabe- und Ausgabespalten
Es gibt nur eine Eingabespalte. Die Eingabespalte muss sein Single , wo ein Single Wert einen Wert bei einem Zeitstempel in der Zeitreihe angibt.
Es erzeugt eine Spalte, die ein Vektor mit 4 Elementen ist. Der Ausgabevektor enthält sequenzielle Warnungsstufe (Nicht-Null-Wert bedeutet einen Änderungspunkt), Score, P-Wert und Martingale-Wert.
Stimatoreigenschaften
Muss diese Schätzung die Daten untersuchen, um seine Parameter zu trainieren? | Yes |
Eingabespaltendatentyp | Single |
Ausgabespaltendatentyp | 4-Elementvektor vonDouble |
Exportierbar in ONNX | No |
Stimatoreigenschaften
ML-Aufgabe | Anomalieerkennung |
Ist die Normalisierung erforderlich? | No |
Ist zwischenspeichern erforderlich? | No |
Erforderliche NuGet zusätzlich zu Microsoft.ML | Microsoft.ML.TimeSeries |
Schulungsalgorithmusdetails
Diese Klasse implementiert die allgemeine Anomalieerkennungstransformation basierend auf der Singular Spectrum Analysis (SSA). SSA ist ein leistungsstarkes Framework für die Zersetzung der Zeitreihen in Trend- und Saisonalitätskomponenten sowie die Prognose der zukünftigen Werte der Zeitreihe. Im Prinzip führt SSA die Spektralanalyse für die Eingabezeitreihe aus, in der jede Komponente im Spektrum einem Trend, einer saisonal oder rauschigen Komponente in der Zeitreihe entspricht. Ausführliche Informationen zur Singular Spectrum Analysis (SSA) finden Sie in diesem Dokument.
Omaly Scorer
Sobald die unformatierte Bewertung bei einer Zeitstempel berechnet wird, wird sie an die Anomaly scorer-Komponente gefüttert, um die endgültige Anomalybewertung zu diesem Zeitstempel zu berechnen. Es gibt zwei Statistiken, die an diesem Scorer, P-Wert und martingale Score beteiligt sind.
P-Wertbewertung
Die p-Wertbewertung gibt den p-Wert der aktuellen berechneten rohen Bewertung entsprechend einer Verteilung von Rohbewertungen an. Hier wird die Verteilung basierend auf den neuesten Rohbewertungswerten bis zu bestimmten Tiefen zurück in der Geschichte geschätzt. Insbesondere wird diese Verteilung mit der Kerneldichteschätzung mit den Gaussian-Kerneln der adaptiven Bandbreite geschätzt. Die P-Wertbewertung befindet sich immer in $[0, 1]$, und der niedrigeren Wert, desto wahrscheinlicher ist der aktuelle Punkt ein Ausreißer (auch als Spitzen bezeichnet).
Änderungspunkterkennung basierend auf der Martingale-Bewertung
Die Martingale-Bewertung ist eine zusätzliche Bewertungsstufe, die auf den P-Wert-Bewertungen basiert. Die Idee basiert auf der Exchangeability Martingales , die eine Änderung der Verteilung über einen Datenstrom von i.i.d. Werten erkennen. Kurz gesagt, der Wert der Martingale-Bewertung beginnt deutlich zu erhöhen, wenn eine Sequenz von kleinen P-Werten in einer Zeile erkannt wurde; dies gibt die Änderung der Verteilung des zugrunde liegenden Datengenerierungsprozesses an. Daher wird die Martingale-Bewertung für die Änderungspunkterkennung verwendet. Angesichts einer Sequenz der zuletzt beobachteten P-Werte, $p 1, \dots, p_n$, wird die Martingale-Bewertung als:? $s(p1, \dots, p_n) = \prod_{i=1}^n \beta(p_i)$. Es gibt zwei Optionen von $\beta$: $\beta(p) = e^{\epsilon - 1}$ für $0 << \epsilon 1$ oder $\beta(p) = \int_{0}^1 \epsilon p^{\epsilon - 1} d\epsilon$.
Wenn die Martingle-Bewertung $s(q_1, \dots, q_n)$ überschreitet, wobei $q_i=1 - \frac{\text{konfidenz}}{100}$, kann der zugehörige Zeitstempel einen Nicht-Null-Warnungswert für die Änderungspunkterkennung erhalten. Beachten Sie, dass $\text{confidence}$ in den Signaturen von DetectChangePointBySsa oder DetectIidChangePoint definiert ist.
Überprüfen Sie den Abschnitt "Siehe auch", um Links zu Verwendungsbeispielen zu finden.
Methoden
Fit(IDataView) |
Zug und Zurückgeben eines Transformators. |
GetOutputSchema(SchemaShape) |
Schemaverteilung für Transformatoren. Gibt das Ausgabeschema der Daten zurück, wenn das Eingabeschema wie die bereitgestellte ist. |
Erweiterungsmethoden
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Fügen Sie einen "Zwischenspeicherpunkt" an die Stimatorkette an. Dadurch wird sichergestellt, dass die nachgelagerten Stimatoren gegen zwischengespeicherte Daten trainiert werden. Es ist hilfreich, einen Cache-Prüfpunkt zu haben, bevor Trainer, die mehrere Daten übergeben. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Geben Sie aufgrund einer Schätzung ein Umbruchobjekt zurück, das einen Stellvertretung aufruft, sobald Fit(IDataView) er aufgerufen wird. Es ist oft wichtig, dass eine Schätzung Informationen zu dem zurückgibt, was passt, weshalb die Fit(IDataView) Methode ein spezifisches typiertes Objekt zurückgibt, anstatt nur ein allgemeines ITransformer. Gleichzeitig IEstimator<TTransformer> werden jedoch oft Pipelines mit vielen Objekten gebildet, sodass wir möglicherweise eine Kette von EstimatorChain<TLastTransformer> Schätzern erstellen müssen, über die der Schätzer, für den wir den Transformator erhalten möchten, irgendwo in dieser Kette begraben wird. Für dieses Szenario können wir über diese Methode eine Stellvertretung anfügen, die einmal aufgerufen wird, wenn die Anpassung aufgerufen wird. |