SsaChangePointEstimator Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. |