IidChangePointEstimator Classe

Definição

Detecte uma alteração de sinal em uma série temporal independente distribuída de forma idêntica (i.i.d.) com base na estimativa de densidade de kernel adaptável e martingales.

public sealed class IidChangePointEstimator : Microsoft.ML.Data.TrivialEstimator<Microsoft.ML.Transforms.TimeSeries.IidChangePointDetector>
type IidChangePointEstimator = class
    inherit TrivialEstimator<IidChangePointDetector>
Public NotInheritable Class IidChangePointEstimator
Inherits TrivialEstimator(Of IidChangePointDetector)
Herança

Comentários

Para criar esse estimador, use DetectIidChangePoint.

Colunas de entrada e saída

Há apenas uma coluna de entrada. A coluna de entrada deve estar 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 não zero significa um ponto de alteração), pontuação, valor p e valor martingale.

Características do estimador

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

Características do estimador

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

Detalhes do algoritmo de treinamento

Esse treinador pressupõe que os pontos de dados coletados na série temporal sejam amostrados independentemente da mesma distribuição (independentemente distribuída de forma idêntica). Assim, o valor no carimbo de data/hora atual pode ser exibido como o valor no próximo carimbo de data/hora na expectativa. Se o valor observado no carimbo de data/hora $t-1$ for $p$, o valor previsto em $t$ carimbo de data/hora também será $p$ .

Marcador de Anomalias

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

Pontuação de valor P

A pontuação p-value indica o p-value 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 p-value está sempre em $[0, 1]$, e quanto menor o valor, maior a probabilidade de o ponto atual ser um outlier (também conhecido como pico).

Alterar detecção de ponto com base na pontuação de martingale

A pontuação de martingale é um nível extra de pontuação que é construído sobre as pontuações de valor p. A ideia baseia-se nos Martingales de exchangeability que detectam uma alteração de distribuição em um fluxo de valores i.i.d. Em suma, o valor da pontuação 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. Portanto, 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, \pontos, p_n$, a pontuação de martingale é calculada 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 não 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)

Detecte uma alteração de sinal em uma série temporal independente distribuída de forma idêntica (i.i.d.) com base na estimativa de densidade de kernel adaptável e martingales.

(Herdado de TrivialEstimator<TTransformer>)
GetOutputSchema(SchemaShape)

Retorna o SchemaShape esquema que será produzido pelo transformador. Usado para propagação e verificação de esquema em um pipeline.

Métodos de Extensão

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

Acrescente um "ponto de verificação de cache" à cadeia de estimativas. Isso garantirá que os estimadores downstream serão treinados em relação aos dados armazenados em cache. É útil ter um ponto de verificação de cache antes dos treinadores que fazem várias passagens de dados.

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

Dado um estimador, retorne um objeto de encapsulamento que chamará um delegado uma vez Fit(IDataView) chamado. Geralmente, é importante que um estimador 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 construir uma cadeia de estimadores por meio EstimatorChain<TLastTransformer> de onde o estimador para o qual queremos que o transformador seja enterrado em algum lugar nesta cadeia. Para esse cenário, podemos por meio desse método anexar um delegado que será chamado quando fit for chamado.

Aplica-se a

Confira também