SrCnnAnomalyEstimator Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Detección de anomalías en series temporales mediante el algoritmo Despectral 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)
- Herencia
Comentarios
Para crear este estimador, use DetectAnomalyBySrCnn
Características del estimador
¿Este estimador necesita examinar los datos para entrenar sus parámetros? | No |
Tipo de datos de columna de entrada | Single |
Tipo de datos de columna de salida | Vector de 3 elementos deDouble |
Exportable a ONNX | No |
Información previa
En Microsoft, hemos desarrollado un servicio de detección de anomalías de serie temporal que ayuda a los clientes a supervisar la serie temporal continuamente y alertar sobre posibles incidentes a tiempo. Para abordar el problema de la detección de anomalías de series temporales, se propone un algoritmo nuevo basado en la red neuronal espectral residual (SR) y la red neuronal convolucional (CNN). El modelo sr se toma prestado del dominio de detección de saliency visual a la detección de anomalías de serie temporal. Y aquí incorporamos primero este algoritmo sr.
El algoritmo de residual espectral (SR) no supervisado, lo que significa que el paso de entrenamiento no es necesario mientras se usa SR. Consta de tres pasos principales: (1) Transformación de Fourier para obtener el espectro de amplitud del registro; (2) cálculo de residual espectral; (3) Transformación inversa de Fourier que transforma la secuencia en el dominio espacial. Matemáticamente, dada una secuencia $\mathbf{x}$, tenemos $$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})$$ donde $\mathfrak{F}$ y $\mathfrak{F}^{-1}$ denotan Fourier Transform e Inverse Fourier Transform respectivamente. $\mathbf{x}$ es la secuencia de entrada con forma $n × 1$; $A(f)$ es el espectro de amplitud de secuencia $\mathbf{x}$; $P(f)$ es el espectro de fase correspondiente de secuencia $\mathbf{x}$; $L(f)$ es la representación del registro de $A(f)$; y $AL(f)$ es el espectro medio de $L(f)$ que se puede aproximar mediante la convolución de la secuencia de entrada por $h_n(f)$, donde $h_n(f)$ es una matriz $n × n$ definida como: $$n_f(f) = \begin{bmatrix}1&1&1&\cdots&1\1&1&11&\cdots&1\\vdots&\vdots&\vdots&\ddots&\vdots\1&1&1&\cdots&1\ end{bmatrix}$$ $R(f)$ es el residual espectral, es decir, el espectro de registro $L(f)$ restando el espectro de registro medio $AL(f)$. El residual espectral actúa como una representación comprimida de la secuencia, mientras que la parte de innovación de la secuencia original es más significativa. Por último, transferimos la secuencia al dominio espacial a través de la transformación inversa de Fourier. La secuencia de resultados $S(\mathbf{x})$ se denomina mapa de saliency. Dado el mapa de saliency $S(\mathbf{x})$, la secuencia de salida $O(\mathbf{x})$ se calcula mediante: $$O(x_i) = \begin{cases}1, si \frac{S(x_i)-\overline{S(x_i)}}{S(x_i)} > \tau\0,de lo contrario,\end{cases}$$ donde $x_i$ representa un punto arbitrario en la secuencia $\mathbf{x}$; $S(x_i)$is el punto correspondiente en el mapa de saliency; y $\overline{S(x_i)}$ es el promedio local de los puntos anteriores de $S(x_i)$.
Hay varios parámetros para el algoritmo SR. Para obtener un modelo con un buen rendimiento, se recomienda ajustar windowSize y threshold al principio, estos son los parámetros más importantes para SR. Después, podría buscar un juicio adecuadoWindowSize , que no es mayor que windowSize. Y para los parámetros restantes, puede usar el valor predeterminado directamente.
Para obtener más información, consulte el servicio de detección de anomalías de serie temporal en el documento de Microsoft.
Métodos
Fit(IDataView) |
Detección de anomalías en series temporales mediante el algoritmo Despectral residual(SR) (Heredado de TrivialEstimator<TTransformer>) |
GetOutputSchema(SchemaShape) |
Detección de anomalías en series temporales mediante el algoritmo Despectral residual(SR) |
Métodos de extensión
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Anexe un "punto de control de almacenamiento en caché" a la cadena del estimador. Esto garantizará que los estimadores de nivel inferior se entrenarán con los datos almacenados en caché. Resulta útil tener un punto de control de almacenamiento en caché antes de que los instructores tomen varios pases de datos. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Dado un estimador, devuelva un objeto de ajuste que llamará a un delegado una vez Fit(IDataView) que se llame. A menudo, es importante que un estimador devuelva información sobre lo que cabe, por lo que el Fit(IDataView) método devuelve un objeto con tipo específico, en lugar de simplemente un general ITransformer. Sin embargo, al mismo tiempo, IEstimator<TTransformer> a menudo se forman en canalizaciones con muchos objetos, por lo que es posible que tengamos que crear una cadena de estimadores a través EstimatorChain<TLastTransformer> de donde el estimador para el que queremos obtener el transformador está enterrado en algún lugar de esta cadena. En ese escenario, podemos a través de este método adjuntar un delegado al que se llamará una vez que se llame a fit. |