SrCnnAnomalyEstimator 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 anomalii w szeregach czasowych przy użyciu algorytmu Spectral Residual(SR)
public sealed class SrCnnAnomalyEstimator : Microsoft.ML.Data.TrivialEstimator<Microsoft.ML.Transforms.TimeSeries.SrCnnAnomalyDetector>
type SrCnnAnomalyEstimator = class
inherit TrivialEstimator<SrCnnAnomalyDetector>
Public NotInheritable Class SrCnnAnomalyEstimator
Inherits TrivialEstimator(Of SrCnnAnomalyDetector)
- Dziedziczenie
Uwagi
Aby utworzyć ten narzędzie do szacowania, użyj polecenia DetectAnomalyBySrCnn
Charakterystyka narzędzia do szacowania
| Czy ten narzędzie do szacowania musi przyjrzeć się danym, aby wytrenować jego parametry? | No |
| Typ danych kolumny wejściowej | Single |
| Typ danych kolumny wyjściowej | Wektor 3-elementowyDouble |
| Możliwość eksportowania do ONNX | No |
Kontekst
W Microsoft opracowaliśmy usługę wykrywania anomalii szeregów czasowych, która ułatwia klientom ciągłe monitorowanie szeregów czasowych i zgłaszanie alertów o potencjalnych zdarzeniach na czas. Aby rozwiązać problem wykrywania anomalii szeregów czasowych, proponujemy nowatorski algorytm oparty na spektralnych resztkach (SR) i splotowej sieci neuronowej (CNN). Model SR jest pożyczany z domeny wykrywania saliencyjnej wizualizacji do wykrywania anomalii szeregów czasowych. I tutaj najpierw dołączyliśmy ten algorytm SR.
Algorytm reszt spektralnych (SR) jest nienadzorowany, co oznacza, że krok trenowania nie jest wymagany podczas korzystania z sr. Składa się z trzech głównych kroków: (1) Transform Fourier w celu uzyskania spektrum amplitudy dzienników; (2) obliczanie reszt spektralnych; (3) Odwrotna transformacja Fourier, która przekształca sekwencję z powrotem do domeny przestrzennej. Matematycznie, biorąc pod uwagę sekwencję $\mathbf{x}$, Mamy $$A(f) = Amplitude(\mathfrak{F}(\mathbf{x}))\P(f) = Phrase(\mathfrak{F}(\mathbf{x}))\L(f) = log(A(f)\AL(f) = h_n(f) \cdot L(f))\R(f) = L(f) - AL(f)\S(\mathbf{x}) = \mathfrak{F}^{-1}(exp(R(f) + P(f))^{2})$$ gdzie $\mathfrak{F}$ i $\mathfrak{F}^{-1}$ oznaczają odpowiednio transform Fourier i Inverse Fourier Transform. $\mathbf{x}$ to sekwencja wejściowa z kształtem $n × 1$; $A(f)$ to spektrum amplitud sekwencji $\mathbf{x}$; $P(f)$ to odpowiadające spektrum faz sekwencji $\mathbf{x}$; $L(f)$ to reprezentacja dziennika $A(f)$; i $AL(f)$ to średnie spektrum $L(f)$, które można przybliżyć przez zbieżność sekwencji danych wejściowych przez $h_n(f)$, gdzie $h_n(f)$ jest macierzą $n × n$ zdefiniowaną jako: $$n_f(f) = \begin{bmatrix}1&1&\cdots&1\1\1 &1&\cdots&1\\vdots&\vdots&\vdots&\ddots&\vdots\1&&1&\cdots&1\ end{bmatrix}$$ $R(f)$ to reszty spektralne, tj. spektrum dziennika $L(f)$ odjęcie średniego spektrum dziennika $AL(f)$. Reszty spektralne służą jako skompresowana reprezentacja sekwencji, podczas gdy część innowacji oryginalnej sekwencji staje się bardziej znacząca. W końcu przenosimy sekwencję z powrotem do domeny przestrzennej za pomocą inverse Fourier Transform. Sekwencja wyników $S(\mathbf{x})$ jest nazywana mapą saliency. Biorąc pod uwagę $S mapy saliency(\mathbf{x})$, sekwencja wyjściowa $O(\mathbf{x})$ jest obliczana przez: $$O(x_i) = \begin{cases}1, jeśli \frac{S(x_i)-\overline{S(x_i)}}{S(x_i)} > \tau\0,w przeciwnym razie\end{cases}$$ gdzie $x_i$ reprezentuje dowolny punkt w sekwencji $\mathbf{x}$; $S(x_i)$is odpowiedni punkt na mapie saliency, a $\overline{S(x_i)}$ jest lokalną średnią poprzednich punktów $S(x_i)$.
Istnieje kilka parametrów algorytmu SR. Aby uzyskać model o dobrej wydajności, zalecamy dostosowanie rozmiaru okna i progu na początku, są to najważniejsze parametry sr. Następnie można wyszukać odpowiedni osądWindowSize , który nie jest większy niż windowSize. W przypadku pozostałych parametrów można bezpośrednio użyć wartości domyślnej.
Aby uzyskać więcej informacji, zapoznaj się z artykułemTime-Series Anomaly Detection Service (Usługa wykrywania anomalii) w Microsoft dokumencie.
Metody
| Nazwa | Opis |
|---|---|
| Fit(IDataView) |
Wykrywanie anomalii w szeregach czasowych przy użyciu algorytmu Spectral Residual(SR) (Odziedziczone po TrivialEstimator<TTransformer>) |
| GetOutputSchema(SchemaShape) |
Wykrywanie anomalii w szeregach czasowych przy użyciu algorytmu Spectral Residual(SR) |
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. |