Condividi tramite


SrCnnAnomalyEstimator Classe

Definizione

Rilevare le 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 della colonna di input Single
Tipo di dati della colonna di output Vettore a 3 elementi diDouble
Esportabile in ONNX No

Background

Microsoft ha sviluppato un servizio di rilevamento anomalie delle serie temporali che consente ai clienti di monitorare continuamente la serie temporale e di segnalare potenziali eventi imprevisti in tempo. Per affrontare il problema del rilevamento delle anomalie delle serie temporali, viene proposto un nuovo algoritmo basato sui residui spettrali (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 è stato prima eseguito l'onboarding di questo algoritmo SR.

L'algoritmo Spectral Residual (SR) 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 Fourier inversa che trasforma la sequenza in un 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&1&\cdots&1\1&1&1&\cdots&1\\vdots&\vdots&\vdots&\ddots&\vdots\1&1&1&\cdots&1\ end{bmatrix}$$ $R(f)$ è il residuo spettrale, ad esempio lo spettro di 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 La trasformazione Inverse Fourier. La sequenza di risultati $S(\mathbf{x})$ viene chiamata 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,altrimenti,\end{cases}$$ dove $x_i$ rappresenta un punto arbitrario in sequenza $\mathbf{x}$; $S(x_i)$is 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 servizio di rilevamento anomalie delle serie temporali nel documento Microsoft .

Metodi

Fit(IDataView)

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

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

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

Metodi di estensione

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

Aggiungere un "checkpoint di memorizzazione nella cache" alla catena di stima. Ciò garantisce che gli estimatori downstream vengano sottoposti a training in base ai dati memorizzati nella cache. È utile avere un checkpoint di memorizzazione nella cache prima che i formatori eseseguono più passaggi di dati.

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

Dato un estimator, restituire un oggetto wrapping che chiamerà un delegato una volta Fit(IDataView) chiamato. È spesso importante che uno strumento di stima restituisca informazioni sull'adattamento, 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