IidChangePointEstimator Klasse

Definition

Erkennen sie eine Signaländerung bei einer unabhängigen, identisch verteilten (i.i.d.) Zeitreihe basierend auf adaptiver Kerneldichteschätzung und Martingalen.

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

Hinweise

Verwenden Sie DetectIidChangePoint, um diese Schätzung zu erstellen.

Eingabe- und Ausgabespalten

Es gibt nur eine Eingabespalte. In der Eingabespalte muss Single ein Single Wert einen Wert in einem Zeitstempel in der Zeitreihe angibt.

Es erzeugt eine Spalte, die ein Vektor mit 4 Elementen ist. Der Ausgabevektor enthält sequenziell warnungsstufe (ungleich Null bedeutet einen Änderungspunkt), Punktzahl, P-Wert und Martingale-Wert.

Schätzeigenschaften

Muss dieser Schätzer die Daten untersuchen, um seine Parameter zu trainieren? No
Eingabespaltendatentyp Single
Ausgabespaltendatentyp 4-Elementvektor vonDouble
Exportierbar in ONNX No

Schätzeigenschaften

Machine Learning-Aufgabe Anomalieerkennung
Ist normalisierung erforderlich? No
Ist zwischenspeichern erforderlich? No
Erforderliches NuGet zusätzlich zu Microsoft.ML Microsoft.ML.TimeSeries

Details des Schulungsalgorithmus

Dieser Trainer geht davon aus, dass datenpunkte, die in der Zeitreihe gesammelt werden, unabhängig von derselben Verteilung (unabhängig identisch verteilt) entnommen werden. Somit kann der Wert im aktuellen Zeitstempel als Wert beim nächsten Erwartungsstempel angezeigt werden. Wenn der beobachtete Wert zum Zeitstempel $t-1$ $p$ ist, würde auch der prognostizierte Wert bei $t$ Zeitstempel $p $ sein.

Anomaliebewertung

Sobald die Rohbewertung zu einem Zeitstempel berechnet wird, wird sie an die Anomaliebewertungskomponente gefüttert, um die endgültige Anomaliebewertung zu diesem Zeitpunkt zu berechnen. Es gibt zwei Statistiken, die an diesem Scorer beteiligt sind, p-Wert und Martingale Score.

P-Wertbewertung

Die p-Wert-Bewertung gibt den P-Wert des aktuellen berechneten Rohwerts entsprechend einer Verteilung der Rohergebnisse an. Hier wird die Verteilung basierend auf den letzten Rohwertwerten bis zu einer bestimmten Tiefe im Verlauf geschätzt. Genauer gesagt wird diese Verteilung mithilfe der Kerneldichteschätzung mit den gaussischen Kerneln der adaptiven Bandbreite geschätzt. Der p-Wert-Wert ist immer in $[0, 1]$ und je niedriger sein 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 Austauschbarkeit Martingales , die eine Änderung der Verteilung über einen Datenstrom von i.i.d. Werten erkennen. Kurz gesagt, der Wert der Martingale-Bewertung beginnt erheblich zu erhöhen, wenn eine Abfolge kleiner p-Werte in einer Zeile erkannt wird; dies gibt die Änderung der Verteilung des zugrunde liegenden Datengenerierungsprozesses an. Daher wird die Martingale-Bewertung für die Änderungspunkterkennung verwendet. Aufgrund einer Abfolge 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 Auswahlmöglichkeiten 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 der Martingle-Wert $s(q_1, \punkte, q_n)$ überschreitet, wobei $q_i=1 - \frac{\text{confidence}}${100}, erhält der zugeordnete Zeitstempel möglicherweise einen Warnungswert ungleich Null für die Erkennung von Änderungspunkten. Beachten Sie, dass $\text{confidence}$ in den Signaturen von DetectChangePointBySsa oder DetectIidChangePoint definiert ist.

Im Abschnitt "Siehe auch" finden Sie Links zu Verwendungsbeispielen.

Methoden

Name Beschreibung
Fit(IDataView)

Erkennen sie eine Signaländerung bei einer unabhängigen, identisch verteilten (i.i.d.) Zeitreihe basierend auf adaptiver Kerneldichteschätzung und Martingalen.

(Geerbt von TrivialEstimator<TTransformer>)
GetOutputSchema(SchemaShape)

Gibt das SchemaShape Schema zurück, das vom Transformator erzeugt wird. Wird für die Schemaverteilung und Überprüfung in einer Pipeline verwendet.

Erweiterungsmethoden

Name Beschreibung
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

Fügen Sie einen "Zwischenspeicherungsprüfpunkt" an die Schätzkette an. Dadurch wird sichergestellt, dass die nachgeschalteten Schätzer anhand zwischengespeicherter Daten trainiert werden. Es ist hilfreich, einen Zwischenspeicherprüfpunkt vor Trainern zu haben, die mehrere Datendurchläufe übernehmen.

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

Geben Sie bei einer Schätzung ein Wrapping-Objekt zurück, das eine Stellvertretung aufruft, sobald Fit(IDataView) sie aufgerufen wird. Es ist häufig wichtig, dass ein Schätzer Informationen zu dem, was passt, zurückgeben, weshalb die Fit(IDataView) Methode ein speziell typiertes Objekt und nicht nur ein allgemeines ITransformerObjekt zurückgibt. IEstimator<TTransformer> Gleichzeitig werden jedoch oft in Pipelines mit vielen Objekten gebildet, daher müssen wir möglicherweise eine Kette von Schätzern bauen, über EstimatorChain<TLastTransformer> die der Schätzer, für den wir den Transformator erhalten wollen, irgendwo in dieser Kette begraben wird. Für dieses Szenario können wir über diese Methode einen Delegat anfügen, der aufgerufen wird, sobald "Fit" aufgerufen wird.

Gilt für:

Weitere Informationen