Lingua

SsaChangePointEstimator Classe

Definizione

Rilevare i punti di modifica nelle serie temporali usando l'analisi dello spettro singolare.

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

Commenti

Per creare questo strumento di stima, usare DetectChangePointBySsa

Colonne di input e output

Esiste una sola colonna di input. La colonna di input deve essere Single la posizione in cui un Single valore indica un valore in corrispondenza di un timestamp nella serie temporale.

Produce una colonna che è un vettore con 4 elementi. Il vettore di output contiene in sequenza il livello di avviso (valore diverso da zero indica un punto di modifica), il punteggio, il valore p e il valore martingale.

Caratteristiche dello strumento di stima

Questo strumento di stima deve esaminare i dati per eseguire il training dei relativi parametri? Yes
Tipo di dati colonna di input Single
Tipo di dati della colonna di output Vettore a 4 elementi diDouble
Esportabile in ONNX No

Caratteristiche dello strumento di stima

Attività di Machine Learning Rilevamento delle anomalie
La normalizzazione è necessaria? No
La memorizzazione nella cache è necessaria? No
NuGet necessario oltre a Microsoft.ML Microsoft.ML.TimeSeries

Dettagli algoritmo di training

Questa classe implementa la trasformazione di rilevamento anomalie generale basata sull'analisi dello spettro singolare (SSA). SSA è un framework potente per scomporre le serie temporali in componenti di tendenza, stagionalità e rumore, nonché prevedere i valori futuri della serie temporale. In linea di principio, SSA esegue un'analisi spettrale sulla serie temporale di input in cui ogni componente nello spettro corrisponde a un componente di tendenza, stagionale o rumore nella serie temporale. Per informazioni dettagliate sull'analisi dello spettro singolare (SSA), vedere questo documento.

Punteggiore anomalie

Una volta calcolato il punteggio non elaborato in un timestamp, viene inserito nel componente del punteggio anomalie per calcolare il punteggio di anomalia finale in quel timestamp. Ci sono due statistiche coinvolte in questo scorer, p-value e martingale score.

Punteggio P-value

Il punteggio p-value indica il valore p del punteggio non elaborato calcolato corrente in base a una distribuzione dei punteggi non elaborati. In questo caso, la distribuzione viene stimata in base ai valori dei punteggi non elaborati più recenti fino a una certa profondità nella cronologia. In particolare, questa distribuzione viene stimata usando la stima della densità del kernel con i kernel gaussian della larghezza di banda adattiva. Il punteggio p-value è sempre in $[0, 1]$e minore è il relativo valore, più probabilmente il punto corrente è un outlier (noto anche come picco).

Rilevamento dei punti di modifica in base al punteggio martingale

Il punteggio martingale è un livello aggiuntivo di punteggio basato sui punteggi p-value. L'idea è basata su Exchangeability Martingales che rilevano una modifica della distribuzione su un flusso di valori i.i.d. In breve, il valore del punteggio martingale inizia ad aumentare significativamente quando viene rilevata una sequenza di piccoli valori p in una riga; indica la modifica della distribuzione del processo di generazione dei dati sottostante. Di conseguenza, il punteggio martingale viene usato per il rilevamento dei punti di modifica. Data una sequenza di valori p osservati più di recente, $p 1, \dots, p_n$, il punteggio martingale viene calcolato come:? $s(p1, \dots, p_n) = \prod_{i=1}^n \beta(p_i)$. Sono disponibili due opzioni di $\beta$: $\beta(p) = e p^{\epsilon - 1}$ per $0 < \epsilon < 1$ o $\beta(p) = \int_{0}^1 \epsilon p^{\epsilon - 1} d\epsilon$.

Se il punteggio martingle supera $s(q_1, \dots, q_n)$ dove $q_i=1 - \frac{\text{confidence}}{100}$, il timestamp associato potrebbe ottenere un valore di avviso diverso da zero per il rilevamento dei punti di modifica. Si noti che $\text{confidence}$ è definito nelle firme di DetectChangePointBySsa o DetectIidChangePoint.

Vedere anche la sezione Vedere anche i collegamenti agli esempi di utilizzo.

Metodi

Nome Descrizione
Fit(IDataView)

Eseguire il training e restituire un trasformatore.

GetOutputSchema(SchemaShape)

Propagazione dello schema per i trasformatori. Restituisce lo schema di output dei dati, se lo schema di input è simile a quello fornito.

Metodi di estensione

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

Aggiungere un "checkpoint di memorizzazione nella cache" alla catena di stima. In questo modo si garantisce che gli estimatori downstream vengano sottoposti a training su dati memorizzati nella cache. È utile disporre di un checkpoint di memorizzazione nella cache prima che i formatori eseseguono più passaggi di dati.

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

Dato uno strumento di stima, restituire un oggetto wrapping che chiamerà un delegato una volta Fit(IDataView) chiamato. È spesso importante che uno strumento di stima restituisca informazioni sulle dimensioni, motivo per cui il Fit(IDataView) metodo restituisce un oggetto tipizzato in modo specifico, anziché solo un oggetto generale ITransformer. Tuttavia, allo stesso tempo, IEstimator<TTransformer> vengono spesso formati in pipeline con molti oggetti, quindi potrebbe essere necessario creare una catena di estimatori tramite EstimatorChain<TLastTransformer> dove lo strumento di stima per il quale si vuole ottenere il trasformatore è sepolto in una posizione in questa catena. Per questo scenario, è possibile collegare un delegato che verrà chiamato una volta chiamato fit.

Si applica a

Vedi anche