SsaChangePointEstimator Classe

Definição

Detectar pontos de alteração em séries temporais usando a Análise 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)
Herança
SsaChangePointEstimator
Implementações

Comentários

Para criar esse avaliador, use DetectChangePointBySsa

Colunas de entrada e saída

Há apenas uma coluna de entrada. A coluna de entrada deve ser Single onde um Single valor indica um valor em um carimbo de data/hora na série temporal.

Ele produz uma coluna que é um vetor com 4 elementos. O vetor de saída contém sequencialmente o nível de alerta (valor diferente de zero significa um ponto de alteração), pontuação, valor p e valor martingale.

Características do avaliador

Esse avaliador precisa examinar os dados para treinar seus parâmetros? Sim
Tipo de dados de coluna de entrada Single
Tipo de dados da coluna de saída Vetor de 4 elementos deDouble
Exportável para ONNX No

Características do avaliador

Ferramenta de machine learning Detecção de anomalias
A normalização é necessária? Não
O cache é necessário? No
NuGet necessário além de Microsoft.ML Microsoft.ML.TimeSeries

Detalhes do algoritmo de treinamento

Essa classe implementa a transformação geral de detecção de anomalias com base na SSA (Análise de Espectro Singular). O SSA é uma estrutura poderosa para decompor a série temporal em componentes de tendência, sazonalidade e ruído, bem como prever os valores futuros da série temporal. Em princípio, o SSA executa uma análise espectral na série temporal de entrada em que cada componente no espectro corresponde a uma tendência, sazonal ou componente de ruído na série temporal. Para obter detalhes da Singular Spectrum Analysis (SSA), consulte este documento.

Marcador de Anomalias

Depois que a pontuação bruta em um carimbo de data/hora é calculada, ela é alimentada com o componente de marcador de anomalias para calcular a pontuação de anomalia final nesse carimbo de data/hora. Há duas estatísticas envolvidas neste marcador, p-value e pontuação martingale.

Pontuação de valor P

A pontuação de valor p indica o valor p da pontuação bruta computada atual de acordo com uma distribuição de pontuações brutas. Aqui, a distribuição é estimada com base nos valores de pontuação bruta mais recentes até determinada profundidade de volta ao histórico. Mais especificamente, essa distribuição é estimada usando a estimativa de densidade de kernel com os kernels gaussianos de largura de banda adaptável. A pontuação de valor p está sempre em $[0, 1]$, e quanto menor o valor, mais provável é que o ponto atual seja um outlier (também conhecido como um pico).

Detecção de ponto de alteração com base na pontuação de martingale

A pontuação de martingale é um nível extra de pontuação que se baseia nas pontuações de valor p. A ideia baseia-se no Exchangeability Martingales que detecta uma alteração de distribuição em um fluxo de valores i.i.d. Em suma, o valor da pontuação de martingale começa a aumentar significativamente quando uma sequência de pequenos valores p detectados em uma linha; isso indica a alteração da distribuição do processo de geração de dados subjacente. Assim, a pontuação de martingale é usada para detecção de ponto de alteração. Dada uma sequência de valores p observados mais recentemente, $p 1, \dots, p_n$, a pontuação de martingale é computada como:? $s(p1, \dots, p_n) = \prod_{i=1}^n \beta(p_i)$. Há duas opções de $\beta$: $\beta(p) = e p^{\epsilon - 1}$ por $0 < \epsilon < 1$ ou $\beta(p) = \int_{0}^1 \epsilon p^{\epsilon - 1} d\epsilon$.

Se a pontuação de martingle exceder $s(q_1, \dots, q_n)$ em que $q_i=1 - \frac{\text{confidence}}{100}$, o carimbo de data/hora associado poderá obter um valor de alerta diferente de zero para detecção de ponto de alteração. Observe que $\text{confidence}$ é definido nas assinaturas de DetectChangePointBySsa ou DetectIidChangePoint.

Verifique a seção Consulte Também para obter links para exemplos de uso.

Métodos

Fit(IDataView)

Treine e retorne um transformador.

GetOutputSchema(SchemaShape)

Propagação de esquema para transformadores. Retorna o esquema de saída dos dados, se o esquema de entrada for semelhante ao fornecido.

Métodos de Extensão

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

Acrescente um 'ponto de verificação de cache' à cadeia do avaliador. Isso garantirá que os estimadores downstream sejam treinados em relação aos dados armazenados em cache. É útil ter um ponto de verificação de cache antes dos treinadores que levam vários passes de dados.

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

Dado um avaliador, retorne um objeto de encapsulamento que chamará um delegado uma vez Fit(IDataView) que seja chamado. Geralmente, é importante que um avaliador retorne informações sobre o que estava em forma, e é por isso que o Fit(IDataView) método retorna um objeto especificamente tipado, em vez de apenas um geral ITransformer. No entanto, ao mesmo tempo, IEstimator<TTransformer> muitas vezes são formados em pipelines com muitos objetos, portanto, talvez seja necessário criar uma cadeia de avaliadores por meio EstimatorChain<TLastTransformer> de onde o estimador para o qual queremos obter o transformador está enterrado em algum lugar nesta cadeia. Para esse cenário, podemos por meio desse método anexar um delegado que será chamado assim que o ajuste for chamado.

Aplica-se a

Confira também