IidChangePointEstimator Classe

Definizione

Rilevare una modifica del segnale in una serie temporale indipendente (i.i.d.) distribuita in base a una stima di densità del kernel adattiva e martingala.

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)
Ereditarietà

Commenti

To create this estimator, use DetectIidChangePoint.

Input and Output Columns

There is only one input column. The input column must be Single where a Single value indicates a value at a timestamp in the time series.

It produces a column that is a vector with 4 elements. The output vector sequentially contains alert level (non-zero value means a change point), score, p-value, and martingale value.

Estimator Characteristics

Questo estimatore deve esaminare i dati per eseguire il training dei parametri? No
Tipo di dati della colonna di input Single
Tipo di dati della colonna di output vettore a 4 elementi diDouble
Esportabile in ONNX No

Estimator Characteristics

Machine learning task Anomaly detection
Is normalization required? No
Is caching required? No
Required NuGet in addition to Microsoft.ML Microsoft.ML.TimeSeries

Training Algorithm Details

This trainer assumes that data points collected in the time series are independently sampled from the same distribution (independent identically distributed). Thus, the value at the current timestamp can be viewed as the value at the next timestamp in expectation. If the observed value at timestamp $t-1$ is $p$, the predicted value at $t$ timestamp would be $p$ as well.

Anomaly Scorer

Once the raw score at a timestamp is computed, it is fed to the anomaly scorer component to calculate the final anomaly score at that timestamp. There are two statistics involved in this scorer, p-value and martingale score.

P-value score

The p-value score indicates the p-value of the current computed raw score according to a distribution of raw scores. Here, the distribution is estimated based on the most recent raw score values up to certain depth back in the history. More specifically, this distribution is estimated using kernel density estimation with the Gaussian kernels of adaptive bandwidth. The p-value score is always in $[0, 1]$, and the lower its value, the more likely the current point is an outlier (also known as a spike).

Change point detection based on martingale score

The martingale score is an extra level of scoring that is built upon the p-value scores. The idea is based on the Exchangeability Martingales that detect a change of distribution over a stream of i.i.d. values. In short, the value of the martingale score starts increasing significantly when a sequence of small p-values detected in a row; this indicates the change of the distribution of the underlying data generation process. Thus, the martingale score is used for change point detection. Given a sequence of most recently observed p-values, $p1, \dots, p_n$, the martingale score is computed as:? $s(p1, \dots, p_n) = \prod_{i=1}^n \beta(p_i)$. There are two choices of $\beta$: $\beta(p) = e p^{\epsilon - 1}$ for $0 < \epsilon < 1$ or $\beta(p) = \int_{0}^1 \epsilon p^{\epsilon - 1} d\epsilon$.

If the martingle score exceeds $s(q_1, \dots, q_n)$ where $q_i=1 - \frac{\text{confidence}}{100}$, the associated timestamp may get a non-zero alert value for change point detection. Note that $\text{confidence}$ is defined in the signatures of DetectChangePointBySsa or DetectIidChangePoint.

Check the See Also section for links to usage examples.

Metodi

Fit(IDataView) (Ereditato da TrivialEstimator<TTransformer>)
GetOutputSchema(SchemaShape)

Restituisce l'oggetto SchemaShape dello schema che verrà generato dal trasformatore. Utilizzato per la propagazione e la verifica dello schema in una pipeline.

Metodi di estensione

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

Aggiungere un'Checkpoint di memorizzazione nella cache ' alla catena di estimatori. In questo modo verrà eseguito il training degli estimatori downstream nei dati memorizzati nella cache. È utile disporre di un checkpoint di memorizzazione nella cache prima che i trainer che accettano più dati passino.

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

Dato un estimatore, restituire un oggetto di wrapping che chiamerà un delegato una volta chiamato il metodo Fit(IDataView) . Spesso è importante per un estimatore restituire informazioni sul contenuto appropriato, motivo per cui il Fit(IDataView) metodo restituisce un oggetto tipizzato in modo specifico, anziché solo un generale ITransformer . Tuttavia, allo stesso tempo, IEstimator<TTransformer> sono spesso formati in pipeline con molti oggetti, quindi potrebbe essere necessario creare una catena di estimatori tramite EstimatorChain<TLastTransformer> la quale lo strumento di stima per il quale si desidera ottenere il trasformatore è nascosto in un punto della catena. Per questo scenario, è possibile usare questo metodo per allegare un delegato che verrà chiamato dopo la chiamata di Fit.

Si applica a

Vedi anche