SsaChangePointEstimator Clase

Definición

Detectar puntos de cambio en series temporales mediante Singular Spectrum Analysis.

public sealed class SsaChangePointEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.TimeSeries.SsaChangePointDetector>
type SsaChangePointEstimator = class
    interface IEstimator<SsaChangePointDetector>
Public NotInheritable Class SsaChangePointEstimator
Implements IEstimator(Of SsaChangePointDetector)
Herencia
SsaChangePointEstimator
Implementaciones

Comentarios

Para crear este estimador, use DetectChangePointBySsa

Columnas de entrada y salida

Solo hay una columna de entrada. La columna de entrada debe ser Single donde un Single valor indica un valor en una marca de tiempo de la serie temporal.

Genera una columna que es un vector con 4 elementos. El vector de salida contiene secuencialmente el nivel de alerta (un valor distinto de cero significa un punto de cambio), score, p-value y martingale value.

Características del estimador

¿Este estimador necesita examinar los datos para entrenar sus parámetros?
Tipo de datos de columna de entrada Single
Tipo de datos de columna de salida Vector de 4 elementos deDouble
Exportable a ONNX No

Características del estimador

Tarea de Machine Learning Detección de anomalías
¿Se requiere normalización? No
¿Se requiere el almacenamiento en caché? No
NuGet necesario además de Microsoft.ML Microsoft.ML.TimeSeries

Detalles del algoritmo de entrenamiento

Esta clase implementa la transformación general de detección de anomalías basada en el análisis de espectro singular (SSA). SSA es un marco eficaz para descomponer la serie temporal en componentes de tendencia, estacionalidad y ruido, así como para predecir los valores futuros de la serie temporal. En principio, SSA realiza análisis espectrales en la serie temporal de entrada donde cada componente del espectro corresponde a un componente de tendencia, estacional o ruido en la serie temporal. Para obtener más información sobre el análisis de espectro singular (SSA), consulte este documento.

Anomaly Scorer

Una vez calculada la puntuación sin procesar en una marca de tiempo, se alimenta al componente de puntuación de anomalías para calcular la puntuación final de anomalías en esa marca de tiempo. Hay dos estadísticas implicadas en este scorer, p-value y martingale score.

Puntuación de valor P

La puntuación p-value indica el valor p de la puntuación sin procesar calculada actual según una distribución de puntuaciones sin procesar. Aquí, la distribución se calcula en función de los valores de puntuación sin procesar más recientes hasta cierta profundidad en el historial. Más concretamente, esta distribución se calcula mediante la estimación de densidad del kernel con los kernels gaussianos de ancho de banda adaptable. La puntuación p-value siempre está en $[0, 1]$, y el menor su valor, lo más probable es que el punto actual sea un valor atípico (también conocido como pico).

Detección de puntos de cambio basada en la puntuación de martingala

La puntuación de martingale es un nivel adicional de puntuación que se basa en las puntuaciones de valor p. La idea se basa en los Martingales de exchangeabilidad que detectan un cambio de distribución a través de una secuencia de valores i.i.d. En resumen, el valor de la puntuación de martingala comienza a aumentar significativamente cuando una secuencia de valores p pequeños detectados en una fila; esto indica el cambio de la distribución del proceso de generación de datos subyacente. Por lo tanto, la puntuación de martingale se usa para la detección de puntos de cambio. Dada una secuencia de valores p observados más recientemente, $p 1, \dots, p_n$, la puntuación de martingale se calcula como:? $s(p1, \dots, p_n) = \prod_{i=1}^n \beta(p_i)$. Hay dos opciones de $\beta$: $\beta(p) = e p^{\epsilon - 1}$ para $0 < \epsilon < 1$ o $\beta(p) = \int_{0}^1 \epsilon p^{\epsilon - 1} d\epsilon$.

Si la puntuación de martingle supera $s(q_1, \dots, q_n)$ donde $q_i=1 - \frac{\text{confidence}}{100}$, la marca de tiempo asociada puede obtener un valor de alerta distinto de cero para la detección de puntos de cambio. Tenga en cuenta que $\text{confidence}$ se define en las firmas de DetectChangePointBySsa o DetectIidChangePoint.

Consulte la sección Consulte también los vínculos a ejemplos de uso.

Métodos

Fit(IDataView)

Entrenar y devolver un transformador.

GetOutputSchema(SchemaShape)

Propagación de esquemas para transformadores. Devuelve el esquema de salida de los datos, si el esquema de entrada es similar al proporcionado.

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 bajada se entrenarán con 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) . 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 se enterró 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.

Se aplica a

Consulte también