SsaChangePointEstimator 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 punktów zmian w szeregach czasowych przy użyciu analizy spektrum pojedynczego.
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 metody 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 sygnaturze czasowej 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? | Yes |
| Typ danych kolumny wejściowej | Single |
| Typ danych kolumny wyjściowej | Wektor 4-elementowyDouble |
| Możliwość eksportowania do ONNX | No |
Charakterystyka narzędzia do szacowania
| Zadanie uczenia maszynowego | Wykrywanie anomalii |
| Czy normalizacja jest wymagana? | No |
| Czy buforowanie jest wymagane? | No |
| 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 struktura do rozkładania 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ę widmową 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 modułu oceniania anomalii w celu obliczenia końcowego wyniku anomalii w tym znaczniku czasu. Istnieją dwie statystyki związane z tym scorer, 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 gaussowskimi jądrami adaptacyjnej przepustowości. Wynik p-value jest zawsze w $[0, 1]$, a im niższa jego wartość, tym bardziej prawdopodobny jest 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. Chodzi o możliwość wymiany Martingales , która wykrywa 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; wskazuje to zmianę rozkładu bazowego procesu generowania danych. W związku z tym wynik martingale jest używany do wykrywania punktów zmian. 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, \dots, q_n)$ gdzie $q_i=1 - \frac{\text{confidence}}{100}$, skojarzony znacznik czasu może uzyskać niezerową wartość alertu na potrzeby wykrywania punktu zmian. 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
| Nazwa | Opis |
|---|---|
| Fit(IDataView) |
Trenowanie i zwracanie transformatora. |
| GetOutputSchema(SchemaShape) |
Propagacja schematu dla transformatorów. Zwraca schemat wyjściowy danych, jeśli schemat wejściowy jest podobny do podanego. |
Metody rozszerzania
| Nazwa | Opis |
|---|---|
| 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 z 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 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ólne ITransformer. 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> 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 będzie wywoływany po wywołaniu dopasowania. |