Udostępnij za pośrednictwem


SrCnnAnomalyEstimator Klasa

Definicja

Wykrywanie anomalii w szeregach czasowych przy użyciu algorytmu spektralnych reszt (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? Nie
Typ danych kolumny wejściowej Single
Typ danych kolumny wyjściowej 3-elementowy wektorDouble
Eksportowanie do pliku ONNX Nie

Tło

W firmie Microsoft opracowaliśmy usługę wykrywania anomalii szeregów czasowych, która ułatwia klientom ciągłe monitorowanie szeregów czasowych i alerty dotyczące potencjalnych zdarzeń na czas. Aby rozwiązać problem wykrywania anomalii szeregów czasowych, proponujemy nowy algorytm oparty na spektralnych resztach (SR) i konwolucyjnej sieci neuronowej (CNN). Model SR jest pożyczany z domeny wykrywania saliencji wizualnej 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 funkcji SR. Składa się z trzech głównych kroków: (1) Transform Fourier w celu uzyskania spektrum amplitudy dzienników; (2) obliczenie 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(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 Odwrotny transform Fourier. $\mathbf{x}$ to sekwencja wejściowa z kształtem $n × 1$; $A(f)$ to spektrum amplitud sekwencji $\mathbf{x}$; $P(f)$ jest odpowiadającym spektrum faz sekwencji $\mathbf{x}$; $L(f)$ jest reprezentacją dziennika $A(f)$; i $AL(f)$ to średnie spektrum $L(f)$, które można przybliżyć przez zbieżność sekwencji wejściowej przez $h_n(f)$, gdzie $h_n(f)$ jest macierzą $n × n$ zdefiniowaną jako: $$n_f(f) = \begin{bmatrix}1&1&1&\cdots&1\1&1&1&\cdots&1\\vdots&\vdots&\vdots\vdot& s\ddots&\vdots\1&1&1&\cdots&1\ end{bmatrix}$$ $R(f)$ jest resztą spektralną, tj. spektrum dziennika $L(f)$ odejmując średnie spektrum dzienników $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 pośrednictwem 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{sprawy}$$ 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 dla sr. Następnie można wyszukać odpowiedni osądWindowSize , który nie jest większy niż windowSize. Dla pozostałych parametrów można bezpośrednio użyć wartości domyślnej.

Aby uzyskać więcej informacji, zapoznaj się z artykułem Usługa wykrywania anomalii szeregów czasowych w dokumencie firmy Microsoft .

Metody

Fit(IDataView)

Wykrywanie anomalii w szeregach czasowych przy użyciu algorytmu spektralnych reszt (SR)

(Odziedziczone po TrivialEstimator<TTransformer>)
GetOutputSchema(SchemaShape)

Wykrywanie anomalii w szeregach czasowych przy użyciu algorytmu spektralnych reszt (SR)

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ż