SsaChangePointEstimator 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í.
Detectar puntos de cambio en series temporales mediante análisis de espectro singular.
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
| ¿Necesita este estimador examinar los datos para entrenar sus parámetros? | Yes |
| 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 aprendizaje automático | 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 de detección de anomalías general basada en Singular Spectrum Analysis (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 un análisis espectral 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 del ancho de banda adaptable. La puntuación p-value siempre está en $[0, 1]$, y la 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 martingale
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 las martingales de exchangeabilidad que detectan un cambio de distribución en una secuencia de valores i.i.d. En resumen, el valor de la puntuación de martingale 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 martingales 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 Ver también para obtener vínculos a ejemplos de uso.
Métodos
| Nombre | Description |
|---|---|
| Fit(IDataView) |
Entrene y devuelva 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
| Nombre | Description |
|---|---|
| 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 se ha ajustado, por lo que el Fit(IDataView) método devuelve un objeto específicamente tipado, 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. |