Udostępnij za pośrednictwem


SsaChangePointEstimator Klasa

Definicja

Wykrywanie punktów zmian w szeregach czasowych przy użyciu analizy pojedynczego spektrum.

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)
Dziedziczenie
SsaChangePointEstimator
Implementuje

Uwagi

Aby utworzyć ten narzędzie do szacowania, użyj polecenia DetectChangePointBySsa

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ść na znaczniku czasu w szeregach czasowych.

Tworzy kolumnę, która jest wektorem z 4 elementami. Wektor wyjściowy sekwencyjnie zawiera poziom alertu (wartość niezerowa oznacza punkt zmiany), wynik, wartość p-value i martingale.

Charakterystyka narzędzia do szacowania

Czy ten narzędzie do szacowania musi przyjrzeć się danym, aby wytrenować jego parametry? Tak
Typ danych kolumny wejściowej Single
Typ danych kolumny wyjściowej 4-elementowy wektorDouble
Eksportowanie do pliku 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

Ta klasa implementuje ogólną transformację wykrywania anomalii na podstawie analizy pojedynczego spektrum (SSA). SSA to zaawansowana platforma do dekompozycji szeregów czasowych w trend, sezonowość i składniki szumu, a także prognozowanie przyszłych wartości szeregów czasowych. W zasadzie usługa SSA wykonuje analizę spektralną na wejściowych szeregach czasowych, w których każdy składnik w spektrum odpowiada trendowi, składnikowi sezonowemu lub szumowi w szeregach czasowych. Aby uzyskać szczegółowe informacje na temat analizy pojedynczego spektrum (SSA), zapoznaj się z tym dokumentem.

Wskaźnik anomalii

Po obliczeniu nieprzetworzonego wyniku w znaczniku czasu jest on podawany do składnika scorer 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 P-value

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 z powrotem w historii. W szczególności ten rozkład jest szacowany przy użyciu szacowania gęstości jądra z jądrami gaussowskimi przepustowości adaptacyjnej. Wynik p-value jest zawsze w wartości $[0, 1]$, a niższy jego wartość, tym bardziej prawdopodobne, że bieżący punkt jest wartością odstującą (znaną również jako skok).

Wykrywanie punktów zmian na podstawie wyniku martingale

Wynik martingale jest dodatkowym poziomem oceniania, który opiera się na wynikach p-value. Pomysł opiera się na funkcji Exchangeability Martingales , która wykrywa zmianę rozkładu w strumieniu wartości i.i.d. Krótko mówiąc, wartość wyniku martingale zaczyna się znacznie zwiększać, gdy sekwencja małych wartości p wykrytych z rzędu; wskazuje 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}$ za $0 < \epsilon < 1$ lub $\beta(p) = \int_{0}^1 \epsilon p^{\epsilon - 1} d\epsilon$.

Jeśli wynik martingle przekracza $s(q_1, \dots, q_n)$, gdzie $q_i=1 — \frac{\text{uf}}{100}$, skojarzony znacznik czasu może uzyskać wartość alertu niezerowego do wykrywania punktu zmiany. Należy pamiętać, że element $\text{confidence}$ jest zdefiniowany w podpisach detectChangePointBySsa lub DetectIidChangePoint.

Zapoznaj się z sekcją Zobacz również, aby uzyskać linki do przykładów użycia.

Metody

Fit(IDataView)

Trenowanie i powrót transformatora.

GetOutputSchema(SchemaShape)

Propagacja schematu dla transformatorów. Zwraca schemat wyjściowy danych, jeśli schemat wejściowy jest podobny do podanego.

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 względem buforowanych danych. Warto mieć punkt kontrolny buforowania, zanim trenerzy przejmą wiele danych.

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

Biorąc pod uwagę narzędzie do szacowania, zwróć obiekt opakowujący, który wywoła 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ólną ITransformerwartość . Jednak w tym samym czasie IEstimator<TTransformer> często są tworzone w potoki z wieloma obiektami, więc może być konieczne utworzenie łańcucha narzędzi do szacowania za pośrednictwem EstimatorChain<TLastTransformer> miejsca, w którym 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.

Dotyczy

Zobacz też