Algoritmi per il rilevamento di anomalie di serie storiche


24

Attualmente sto usando AnomalyDetection di Twitter in R: https://github.com/twitter/AnomalyDetection . Questo algoritmo fornisce il rilevamento delle anomalie delle serie temporali per i dati con stagionalità.

Domanda: ci sono altri algoritmi simili a questo (il controllo della stagionalità non ha importanza)?

Sto cercando di assegnare il maggior numero possibile di algoritmi di serie temporali ai miei dati in modo da poter scegliere quello / ensemble migliore.

Risposte:


16

L'algoritmo di Twitter è basato su

Rosner, B., (maggio 1983), "Punti percentuali per una procedura multi-outlier ESD generalizzata", Technometrics, 25 (2), pp. 165-172

Sono sicuro che ci sono state molte tecniche e progressi dal 1983 !. Ho testato i miei dati interni e il rilevamento delle anomalie di Twitter non identifica valori anomali evidenti. Vorrei utilizzare anche altri approcci per testare valori anomali nelle serie temporali. Il meglio che ho incontrato è la procedura di rilevamento anomalo di Tsay implementata nel software SAS / SPSS / Autobox e SCA. Tutti che sono sistemi commerciali. C'è anche un pacchetto tsoutliers che è fantastico ma ha bisogno delle specifiche del arimamodello per funzionare in modo efficiente. Ho avuto problemi con il suo valore predefinito auto.arimaper quanto riguarda l'ottimizzazione e la selezione del modello.

L'articolo di Tsay è un'opera fondamentale per il rilevamento anomalo nelle serie storiche. Rivista leader nella ricerca sulle previsioni L' International Journal of Forecasting ha menzionato che l'articolo di Tsay è uno dei lavori più citati e articoli più influenti in un articolo collegato sopra (vedi anche sotto). La diffusione di questo importante lavoro e di altri algoritmi di rilevamento anomalo nel software di previsione (specialmente nel software open source) è una rarità.

inserisci qui la descrizione dell'immagine


14

Ecco le opzioni per Anomaly Detection in R a partire dal 2017.

Pacchetto AnomalyDetection di Twitter

  • Funziona utilizzando l'ESD ibrido stagionale (SH-ESD);
  • Si basa sul test ESD generalizzato per rilevare anomalie;
  • Rileva anomalie sia locali che globali;
  • Impiegando la scomposizione di serie storiche e solide metriche statistiche (ad es. Mediana insieme a ESD)
  • Impiega l'approssimazione a tratti per le serie storiche;
  • Ha anche un metodo per quando i timestamp non sono disponibili;
  • Può specificare la direzione delle anomalie, la finestra di interesse, attivare l'approssimazione a tratti e ha il supporto visivo.

anomalyDetection Package (diverso da quello di Twitter)

  • vari approcci tra cui la distanza di Mahalanobis, l'analisi dei fattori, l'analisi parallela di Horn, l'ispezione dei blocchi, l'analisi dei componenti principali;
  • Ha un metodo per gestire i risultati.

pacchetto tsoutliers

  • Rileva valori anomali nelle serie temporali seguendo la procedura Chen e Liu ( https://www.jstor.org/stable/2290724?seq=1#page_scan_tab_contents );
  • I valori anomali sono ottenuti sulla base di stime "meno contaminate" dei parametri del modello, stimati effetti anomali utilizzando la regressione lineare multipla e stima congiuntamente dei parametri e degli effetti del modello.
  • Considera valori anomali innovativi, valori anomali additivi, cambiamenti di livello, cambiamenti temporanei e cambiamenti di livello stagionali.

anomalo-acm

  • Lavora calcolando un vettore di caratteristiche su ciascuna serie temporale (ad esempio, correlazione di ritardo, intensità della stagionalità, entropia spettrale), quindi applicando una solida decomposizione dei componenti principali sulle caratteristiche e infine applicando vari metodi di rilevamento anomali bivariati ai primi due componenti principali;
  • Consente di identificare le serie più insolite, in base ai loro vettori di caratteristiche;
  • Il pacchetto contiene set di dati sia reali che sintetici di Yahoo.

pacchetto arcobaleno

  • Utilizza sacche per bag e box;
  • Identifica i valori anomali con profondità o densità più basse.

pacchetto kmodR

  • Utilizza un'implementazione di k-medie proposta da Chawla e Gionis nel 2013 ( http://epubs.siam.org/doi/pdf/10.1137/1.9781611972832.21 );
  • Utile per la creazione di cluster (potenzialmente) più stretti rispetto ai k-media standard e per la ricerca simultanea di valori anomali a basso costo nello spazio multidimensionale.

metodo washeR

La vista Attività CRAN per metodi statistici affidabili

  • Una varietà di approcci per l'utilizzo di solidi metodi statistici per rilevare valori anomali.

MODIFICA 2018

anomalize: Tidy Anomaly Detection


Qualche suggerimento quale posso usare per i dati delle serie storiche, ma senza stagionalità? Posso usare il pacchetto twitter in quel caso?
MikeHuber,

Il pacchetto Twitter gestisce anomalie sia locali che globali. Come si dice nei loro documenti, "le anomalie globali in genere si estendono al di sopra o al di sotto della stagionalità prevista e quindi non sono soggette alla stagionalità e alla tendenza sottostante". Quindi sì, è possibile utilizzare il pacchetto Twitter per rilevare potenzialmente anomalie nelle serie temporali senza stagionalità. blog.twitter.com/engineering/en_us/a/2015/…
Cybernetic

8

Ho trovato alcune fonti che potrebbero aiutarti ma non saranno facili / convenienti come eseguire uno script R sui tuoi dati: - Numenta ha una piattaforma NuPIC di provenienza aperta che viene utilizzata per molte cose, incluso il rilevamento di anomalie . - Il progetto Atlas di Netflix rilascerà presto uno strumento di rilevamento di anomalie / anomalie open source. - Prelert ha un motore di rilevamento delle anomalie che viene fornito come un'applicazione sul lato server. La loro versione di prova offre un utilizzo limitato che può soddisfare le tue esigenze.

In alternativa, la mia azienda, Insignum , ha un prodotto in versione beta che ingerisce i dati delle serie temporali e rileva le anomalie in modo completamente automatizzato e si ricevono semplicemente avvisi via e-mail quando vengono rilevate anomalie. Contatta Twitter o Linkedin e sarei felice di dirti di più.


3

Autobox (la mia azienda) fornisce un rilevamento anomalo. L'algoritmo di Twitter ottiene i grandi valori anomali, ma manca quelli più piccoli rispetto ad Autobox .

Ci vuole molto tempo per correre, ma i risultati sono migliori per trovare i valori anomali più piccoli e anche i cambiamenti nella stagionalità che sono anche valori anomali. Di seguito è riportato il modello che trova 79 valori anomali utilizzando le prime 8.560 osservazioni di 14.398 osservazioni originali. La versione standard massima è di 10.000 osservazioni, ma potrebbe essere modificata per ulteriori informazioni, ma non vi è alcun motivo reale per avere comunque molti dati quando si desidera identificare e rispondere ai valori anomali.

Siamo stati influenzati dal lavoro svolto da Tsay su valori anomali, cambiamenti di livello e variazione della varianza e sul lavoro di Chow sulla modifica dei parametri insieme al nostro lavoro sulla rilevazione dei cambiamenti nella stagionalità,

Se scarichi la versione di prova di 30 giorni e carichi i dati di esempio di Twitter e specifichi che la frequenza è 60 e salvi 3 file trigger nella cartella di installazione (noparcon.afs, novarcon.afs, notrend.afs) e crei un file chiamato stepupde. afs con 100.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.