IidChangePointEstimator 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 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. |