IidChangePointEstimator Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wykrywanie zmiany sygnału w niezależnie rozproszonym (i.i.d.) szeregach czasowych na podstawie adaptacyjnego szacowania gęstości jądra i 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)
- Dziedziczenie
Uwagi
Aby utworzyć ten narzędzie do szacowania, użyj metody DetectIidChangePoint.
Kolumny wejściowe i wyjściowe
Istnieje tylko jedna kolumna wejściowa. Kolumna wejściowa musi być Single miejscem, w którym Single wartość wskazuje wartość w sygnaturze czasowej w szeregach czasowych.
Tworzy kolumnę, która jest wektorem z 4 elementami. Wektor danych wyjściowych sekwencyjnie zawiera poziom alertu (wartość niezerowa oznacza punkt zmiany), wynik, wartość p i wartość martingale.
Charakterystyka narzędzia do szacowania
Czy ten narzędzie do szacowania musi przyjrzeć się danym, aby wytrenować jego parametry? | Nie |
Typ danych kolumny wejściowej | Single |
Typ danych kolumny wyjściowej | 4-wektor elementuDouble |
Możliwość eksportowania do ONNX | Nie |
Charakterystyka narzędzia do szacowania
Zadanie uczenia maszynowego | Wykrywanie anomalii |
Czy normalizacja jest wymagana? | Nie |
Czy buforowanie jest wymagane? | Nie |
Wymagane narzędzie NuGet oprócz Microsoft.ML | Microsoft.ML.TimeSeries |
Szczegóły algorytmu trenowania
Ten trener zakłada, że punkty danych zebrane w szeregach czasowych są niezależnie próbkowane z tego samego rozkładu (niezależnie rozdzielone). W związku z tym wartość w bieżącym znaczniku czasu może być postrzegana jako wartość przy następnym znaczniku czasu w oczekiwaniach. Jeśli obserwowana wartość w znaczniku czasu $t-1$ wynosi $p$, przewidywana wartość na $t$ będzie również $p$ .
Wynik anomalii
Po obliczeniu nieprzetworzonego wyniku w sygnaturze czasowej jest on podawany do składnika modułu oceniania anomalii w celu obliczenia końcowego wyniku anomalii na tym znaczniku czasu. Istnieją dwie statystyki związane z tym strzelcem, p-value i martingale score.
Wynik wartości P
Wynik p-value wskazuje wartość p bieżącego obliczonego nieprzetworzonego wyniku zgodnie z rozkładem nieprzetworzonych wyników. W tym miejscu rozkład jest szacowany na podstawie najnowszych nieprzetworzonych wartości oceny do określonej głębokości w historii. W szczególności ten rozkład jest szacowany przy użyciu szacowania gęstości jądra z jąder gaussowskich przepustowości adaptacyjnej. Wynik p-value jest zawsze w wartości $[0, 1]$, a im niższa jego wartość, tym bardziej prawdopodobną wartością bieżącą jest wartość odstający (nazywana również skokiem).
Wykrywanie punktu zmian na podstawie wyniku martingale
Wynik martingale jest dodatkowym poziomem oceniania, który opiera się na wynikach p-value. Pomysł opiera się na możliwości wymiany Martingales , które wykrywają zmianę rozkładu na strumieniu wartości i.i.d. Krótko mówiąc, wartość wyniku martingale zaczyna rosnąć znacznie, gdy sekwencja małych wartości p wykrytych w wierszu; oznacza to zmianę rozkładu bazowego procesu generowania danych. W związku z tym wynik martingale jest używany do wykrywania punktu zmiany. Biorąc pod uwagę sekwencję ostatnio obserwowanych wartości p, $p 1, \dots, p_n$, wynik martingale jest obliczany jako:? $s(p1, \dots, p_n) = \prod_{i=1}^n \beta(p_i)$. Istnieją dwie opcje $\beta$: $\beta(p) = e p^{\epsilon - 1}$ dla $0 < \epsilon < 1$ lub $\beta(p) = \int_{0}^1 \epsilon p^{\epsilon - 1} d\epsilon$.
Jeśli wynik martingle przekracza $s(q_1, \kropki, q_n)$ gdzie $q_i=1 — \frac{\text{confidence}}{100}$, skojarzony znacznik czasu może uzyskać wartość alertu niezerowego dla wykrywania punktu zmiany. Należy pamiętać, że element $\text{confidence}$ jest zdefiniowany w podpisach elementu DetectChangePointBySsa lub DetectIidChangePoint.
Zapoznaj się z sekcją Zobacz również, aby uzyskać linki do przykładów użycia.
Metody
Fit(IDataView) |
Wykrywanie zmiany sygnału w niezależnie rozproszonym (i.i.d.) szeregach czasowych na podstawie adaptacyjnego szacowania gęstości jądra i martingales. (Odziedziczone po TrivialEstimator<TTransformer>) |
GetOutputSchema(SchemaShape) |
SchemaShape Zwraca schemat, który zostanie wygenerowany przez transformator. Służy do propagacji schematu i weryfikacji w potoku. |
Metody rozszerzania
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Dołącz "punkt kontrolny buforowania" do łańcucha narzędzia do szacowania. Zapewni to, że narzędzia do szacowania podrzędnego zostaną wytrenowane pod kątem buforowanych danych. Warto mieć punkt kontrolny buforowania, zanim trenerzy przejdą wiele danych. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Biorąc pod uwagę narzędzie do szacowania, zwróć obiekt opakowujący, który będzie wywoływać delegata po Fit(IDataView) wywołaniu. Często ważne jest, aby narzędzie do szacowania zwracało informacje o tym, co było odpowiednie, dlatego Fit(IDataView) metoda zwraca specjalnie wpisany obiekt, a nie tylko ogólny ITransformerelement . Jednak w tym samym czasie IEstimator<TTransformer> są często tworzone w potoki z wieloma obiektami, więc może być konieczne utworzenie łańcucha narzędzi do szacowania, za pośrednictwem EstimatorChain<TLastTransformer> którego narzędzie do szacowania, dla którego chcemy uzyskać transformator jest pochowany gdzieś w tym łańcuchu. W tym scenariuszu możemy za pomocą tej metody dołączyć delegata, który zostanie wywołany po wywołaniu dopasowania. |