Język

SrCnnAnomalyEstimator Klasa

Definicja

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.

Dotyczy

Zobacz też