Condividi tramite


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 solo una colonna di input. La colonna di input deve essere Single dove un valore indica un Single 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 non zero significa un punto di modifica), il punteggio, il valore p e il valore martingale.

Caratteristiche dello strumento di stima

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

Caratteristiche dello strumento di stima

Attività di Machine Learning Rilevamento anomalie
È necessaria la normalizzazione? No
È necessaria la memorizzazione nella cache? No
NuGet richiesto oltre a Microsoft.ML Microsoft.ML.TimeSeries

Dettagli dell'algoritmo di training

Questa classe implementa la trasformazione di rilevamento anomalie generale basata su Singolare Spettro Analysis (SSA). SSA è un framework potente per scomporre le serie temporali in componenti di tendenza, stagionalità e rumore, oltre a prevedere i valori futuri della serie temporale. In principio, SSA esegue l'analisi spectrale sulla serie temporale di input in cui ogni componente nello spettro corrisponde a una tendenza, a un componente stagionale o acustico 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 fornito al componente del scorer 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 di punteggio 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 il valore inferiore, 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 sui valori di Exchangeability Martingales che rilevano una modifica della distribuzione su un flusso di valori i.i.d. In breve, il valore del punteggio martingale inizia a aumentare significativamente quando una sequenza di piccoli valori p rilevati in una riga; ciò indica la modifica della distribuzione del processo di generazione dei dati sottostante. Pertanto, il punteggio martingale viene usato per il rilevamento dei punti di modifica. Dato 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)$. Esistono 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 può ottenere un valore di avviso diverso da zero per il rilevamento del punto di modifica. Si noti che $\text{confidence}$ è definito nelle firme di DetectChangePointBySsa o DetectIidChangePoint.

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

Metodi

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 specificato.

Metodi di estensione

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

Aggiungere un "checkpoint di memorizzazione nella cache" alla catena di stima. Ciò garantisce che gli estimatori downstream vengano sottoposti a training sui dati memorizzati nella cache. È utile avere un checkpoint di memorizzazione nella cache prima dei training che accettano più passaggi di dati.

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

Dato un stimatore, restituire un oggetto wrapping che chiamerà un delegato una volta Fit(IDataView) chiamato. Spesso è importante che un stimatore restituisca informazioni su ciò che è stato adatto, che è il 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> sono spesso formati in pipeline con molti oggetti, quindi potrebbe essere necessario creare una catena di stima tramite EstimatorChain<TLastTransformer> dove lo stimatore per cui si vuole ottenere il trasformatore è sepolto da qualche parte in questa catena. Per questo scenario, è possibile collegare questo metodo a un delegato che verrà chiamato una volta chiamato fit.

Si applica a

Vedi anche