Lingua

SrCnnAnomalyEstimator Classe

Definizione

Rilevare anomalie nelle serie temporali usando l'algoritmo 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)
Ereditarietà

Commenti

Per creare questo strumento di stima, usare DetectAnomalyBySrCnn

Caratteristiche dello strumento di stima

Questo strumento di stima deve esaminare i dati per eseguire il training dei relativi parametri? No
Tipo di dati colonna di input Single
Tipo di dati della colonna di output Vettore a 3 elementi diDouble
Esportabile in ONNX No

Sfondo

In Microsoft è stato sviluppato un servizio di rilevamento anomalie di serie temporali che consente ai clienti di monitorare la serie temporale in modo continuo e avvisare per potenziali eventi imprevisti in tempo. Per affrontare il problema del rilevamento anomalie delle serie temporali, viene proposto un nuovo algoritmo basato sul residuo spectrale (SR) e sulla rete neurale convoluzionale (CNN). Il modello SR viene preso in prestito dal dominio di rilevamento della saliency visiva al rilevamento anomalie delle serie temporali. Ed ecco prima di tutto l'onboarding di questo algoritmo SR.

L'algoritmo sr (Spectral Residual) non è supervisionato, il che significa che il passaggio di training non è necessario durante l'uso di SR. È costituito da tre passaggi principali: (1) Fourier Transform per ottenere lo spettro di ampiezza del log; (2) calcolo dei residui spettrali; (3) Trasformazione Inverse Fourier che trasforma la sequenza in dominio spaziale. Matematicamente, data una sequenza $\mathbf{x}$, abbiamo $$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})$$ dove $\mathfrak{F}$ e $\mathfrak{F}^{-1}$ denotano rispettivamente Fourier Transform e Inverse Fourier Transform. $\mathbf{x}$ è la sequenza di input con forma $n × 1$; $A(f)$ è lo spettro di ampiezza della sequenza $\mathbf{x}$; $P(f)$ è lo spettro di fasi corrispondente della sequenza $\mathbf{x}$; $L(f)$ è la rappresentazione del log di $A(f)$; e $AL(f)$ è lo spettro medio di $L(f)$ che può essere approssimativo convolundo la sequenza di input di $h_n(f)$, dove $h_n(f)$ è una matrice $n × n$ definita come: $$n_f(f) = \begin{bmatrix}1&1&\cdots&1\1\1\1&1&\cdots&1\\vdots&\vdots&\vdots&\ddots&\vdots&\vdots\1&1&\cdots&1\ end{bmatrix}$$ $R(f)$ è il residuo spettrale, ovvero lo spettro del log $L(f)$ sottraendo lo spettro del log medio $AL(f)$. Il residuo spettrale funge da rappresentazione compressa della sequenza, mentre la parte di innovazione della sequenza originale diventa più significativa. Infine, la sequenza viene trasferita di nuovo nel dominio spaziale tramite Inverse Fourier Transform. La sequenza di risultati $S(\mathbf{x})$ è denominata mappa saliency. Data la mappa saliency $S(\mathbf{x})$, la sequenza di output $O(\mathbf{x})$ viene calcolata da: $$O(x_i) = \begin{cases}1, se \frac{S(x_i)-\overline{S(x_i)}}{S(x_i)} > \tau\0,\end{cases}$$ dove $x_i$ rappresenta un punto arbitrario in sequenza $\mathbf{x}$; $S(x_i)$is il punto corrispondente nella mappa saliency e $\overline{S(x_i)}$ è la media locale dei punti precedenti di $S(x_i)$.

Esistono diversi parametri per l'algoritmo SR. Per ottenere un modello con buone prestazioni, è consigliabile ottimizzare windowSize e soglia in un primo momento, questi sono i parametri più importanti per SR. Quindi è possibile cercare un giudizio appropriatoWindowSize che non è più grande di windowSize. E per i parametri rimanenti, è possibile usare direttamente il valore predefinito.

Per altre informazioni, vedere il documentoTime-Series Servizio di rilevamento anomalie all'indirizzo Microsoft.

Metodi

Nome Descrizione
Fit(IDataView)

Rilevare anomalie nelle serie temporali usando l'algoritmo Spectral Residual(SR)

(Ereditato da TrivialEstimator<TTransformer>)
GetOutputSchema(SchemaShape)

Rilevare anomalie nelle serie temporali usando l'algoritmo Spectral Residual(SR)

Metodi di estensione

Nome Descrizione
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

Aggiungere un "checkpoint di memorizzazione nella cache" alla catena di stima. In questo modo si garantisce che gli estimatori downstream vengano sottoposti a training su dati memorizzati nella cache. È utile disporre di un checkpoint di memorizzazione nella cache prima che i formatori eseseguono più passaggi di dati.

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

Dato uno strumento di stima, restituire un oggetto wrapping che chiamerà un delegato una volta Fit(IDataView) chiamato. È spesso importante che uno strumento di stima restituisca informazioni sulle dimensioni, motivo per cui il Fit(IDataView) metodo restituisce un oggetto tipizzato in modo specifico, anziché solo un oggetto generale ITransformer. Tuttavia, allo stesso tempo, IEstimator<TTransformer> vengono spesso formati in pipeline con molti oggetti, quindi potrebbe essere necessario creare una catena di estimatori tramite EstimatorChain<TLastTransformer> dove lo strumento di stima per il quale si vuole ottenere il trasformatore è sepolto in una posizione in questa catena. Per questo scenario, è possibile collegare un delegato che verrà chiamato una volta chiamato fit.

Si applica a

Vedi anche