Applicazione di wavelet agli algoritmi di rilevazione delle anomalie basati su serie temporali


25

Ho iniziato a lavorare attraverso i tutorial statistici sull'estrazione dei dati di Andrew Moore (altamente raccomandato a chiunque si avventura per la prima volta in questo campo). Ho iniziato leggendo questo PDF estremamente interessante intitolato "Panoramica introduttiva degli algoritmi di rilevamento delle anomalie basati su serie temporali" in cui Moore ripercorre molte delle tecniche utilizzate nella creazione di un algoritmo per rilevare epidemie di malattie. A metà delle diapositive, a pagina 27, elenca una serie di altri "metodi all'avanguardia" utilizzati per rilevare i focolai. Il primo elencato è wavelets . Wikipeida descrive un wavelet come

un'oscillazione simile a un'onda con un'ampiezza che inizia da zero, aumenta e poi torna a zero. In genere può essere visualizzato come una "breve oscillazione"

ma non descrive la loro applicazione alle statistiche e le mie ricerche su Google producono articoli altamente accademici che presuppongono una conoscenza di come le wavelet si collegano alle statistiche o ai libri completi sull'argomento.

Vorrei una comprensione di base di come le wavelet vengono applicate al rilevamento di anomalie di serie temporali, molto nel modo in cui Moore illustra le altre tecniche nel suo tutorial. Qualcuno può fornire una spiegazione di come funzionano i metodi di rilevazione utilizzando le wavelet o un collegamento a un articolo comprensibile in materia?

Risposte:


19

Le wavelet sono utili per rilevare singolarità in un segnale (vedere ad esempio il documento qui (vedere la figura 3 per un'illustrazione) e i riferimenti citati in questo documento. Immagino che le singolarità a volte possano essere un'anomalia?

L'idea qui è che la trasformata wavelet continua (CWT) abbia linee massime che si propagano lungo le frequenze, cioè più lunga è la linea, maggiore è la singolarità. Vedi la Figura 3 nel documento per vedere cosa intendo! nota che esiste un codice Matlab gratuito relativo a quel documento, dovrebbe essere qui .


Inoltre, posso darti alcuni dettagli euristici sul perché la trasformata wavelet ( DWT ) DISCRETA (l'esempio precedente riguarda quella continua ) è interessante per uno statistico (scusa di non esaustività):

  • Esiste un'ampia classe di segnali (realistici (spazio di Besov)) che vengono trasformati in una sequenza sparsa dalla trasformazione wavelet. ( proprietà di compressione )
  • Un'ampia classe di processi (quasi stazionari) che si trasformano in una sequenza con caratteristiche quasi non correlate ( proprietà di decorrelazione )
  • I coefficienti wavelet contengono informazioni localizzate nel tempo e in frequenza (a scale diverse). (proprietà multi-scala)
  • I coefficienti wavelet di un segnale si concentrano sulle sue singolarità .

19

L'elenco nella presentazione a cui fai riferimento mi sembra abbastanza arbitrario e la tecnica che verrebbe utilizzata dipenderà davvero dal problema specifico. Noterai tuttavia che include anche i filtri Kalman , quindi sospetto che l'uso previsto sia una tecnica di filtro. Le trasformazioni wavelet generalmente rientrano nel campo dell'elaborazione del segnale e saranno spesso utilizzate come fase di pre-elaborazione con dati molto rumorosi. Un esempio è il documento " Rilevazione di anomalie su più scale " di Chen e Zhan (vedi sotto). L'approccio sarebbe quello di eseguire un'analisi sul diverso spettro piuttosto che sulla serie rumorosa originale.

Le wavelet sono spesso confrontate con una trasformata di Fourier a tempo continuo, sebbene abbiano il vantaggio di essere localizzate sia nel tempo che nella frequenza. Le wavelet possono essere utilizzate sia per la compressione del segnale sia per il livellamento (restringimento delle wavelet). In definitiva, potrebbe avere senso applicare un'ulteriore statistica dopo l'applicazione della trasformazione wavelet (osservando ad esempio la funzione di auto-correlazione). Un ulteriore aspetto delle wavelet che potrebbe essere utile per il rilevamento di anomalie è l'effetto della localizzazione: vale a dire, una discontinuità influenzerà solo l'ondella che è vicino ad essa (a differenza di una trasformata di Fourier). Un'applicazione di questo è trovare serie temporali localmente stazionarie (usando un LSW).

Guy Nason ha un bel libro che consiglierei se vuoi approfondire l'applicazione pratica statistica: " Metodi Wavelet in Statistics with R ". Questo si rivolge specificamente all'applicazione delle wavelet all'analisi statistica e fornisce molti esempi del mondo reale insieme a tutto il codice (usando il pacchetto wavethresh ). Il libro di Nason non affronta in modo specifico il "rilevamento di anomalie", sebbene svolga un lavoro di ammiraglio nel fornire una panoramica generale.

Infine, l'articolo di Wikipedia fornisce molti buoni riferimenti introduttivi, quindi vale la pena esaminarlo in dettaglio.

[Come nota a margine: se stai cercando una buona tecnica moderna per il rilevamento del punto di cambiamento, suggerirei di provare un HMM prima di passare troppo tempo con i metodi wavelet, a meno che tu non abbia buone ragioni per usare le wavelet nel tuo particolare campo. Questo si basa sulla mia esperienza personale. Ci sono ovviamente molti altri modelli non lineari che potrebbero essere considerati, quindi dipende davvero dal tuo problema specifico.]


1
Non mi è chiaro come i modelli Markov nascosti vengano utilizzati per il rilevamento di anomalie, ma mi piacerebbe molto saperlo. La parte che per me non è chiara è come creare una macchina a stati sottostante corretta con probabilità di transizione significative (a meno che non siano solo due stati come "anomalia" e "non anomalia" con un'ingenua probabilità di transizione tra di loro).
John Robertson,

6

Le funzioni discrete di base wavelet più comunemente usate e implementate (come distinte dal CWT descritto nella risposta di Robin) hanno due belle proprietà che le rendono utili per il rilevamento di anomalie:

  1. Sono supportati in modo compatto.
  2. Agiscono come filtri passa-banda con la banda passata determinata dal loro supporto.

Ciò che ciò significa in termini pratici è che la decomposizione wavelet discreta osserva i cambiamenti locali nel segnale attraverso una varietà di scale e bande di frequenza. Se si dispone (ad esempio) di un rumore ad alta frequenza di grande magnitudine sovrapposto a una funzione che mostra uno spostamento di bassa magnitudine per un periodo più lungo, la trasformazione wavelet separerà efficacemente queste due scale e consentirà di vedere lo spostamento della linea di base di molte altre le tecniche mancheranno; uno spostamento in questa linea di base può suggerire un'epidemia o qualche altro cambiamento di interesse. In molti modi, puoi considerare la decomposizione stessa come più liscia (e c'è stato un bel po 'di lavoro fatto su un restringimento efficiente dei coefficienti wavelet in una stima non parametrica, vedi ad esempio praticamente qualsiasi cosa sulle wavelet di Donoho). A differenza dei metodi puri basati sulla frequenza, il supporto compatto significa che sono in grado di gestire dati non stazionari. A differenza dei metodi puramente basati sul tempo, consentono alcuni filtri basati sulla frequenza.

In termini pratici, per rilevare anomalie o punti di cambiamento, si applicherebbe una trasformazione wavelet discreta (probabilmente la variante nota come "Maximum Overlap DWT" o "shift invariant DWT", a seconda di chi leggi) ai dati e guarda agli insiemi di coefficienti a frequenza più bassa per vedere se si hanno spostamenti significativi nella linea di base. Questo ti mostrerà quando si verifica un cambiamento a lungo termine sotto qualsiasi rumore quotidiano. Percival e Walden (vedere i riferimenti sotto) derivano alcuni test per coefficienti statisticamente significativi che è possibile utilizzare per vedere se uno spostamento come questo è significativo o meno.

Un eccellente lavoro di riferimento per le wavelet discrete è Percival e Walden, "Metodi Wavelet per l'analisi delle serie temporali". Un buon lavoro introduttivo è "Introduzione alle wavelet e alle trasformazioni wavelet, un primer" di Burrus, Gopinath e Guo. Se provieni da un background ingegneristico, "Elementi di wavelet per ingegneri e scienziati" è una buona introduzione dal punto di vista dell'elaborazione del segnale.

(Modificato per includere i commenti di Robin)


Il primo punto che menzioni è falso in generale, ti suggerisco di leggere la prima frase del capitolo books.google.fr/… nel libro di Daubechie. Inoltre, se avessi letto la mia risposta, ho già menzionato la bella proprietà del DWT nella seconda parte della mia risposta ...
robin girard

Al primo punto, hai ragione. Avrei dovuto dire "Funzioni di base wavelet discrete più comunemente usate / implementate"; Modificherò per riflettere questo. Al secondo punto, hai dato una buona risposta su come alcuni CWT (il più delle volte un wavelet DOG o il relativo wavelet di Ricker; qualcosa come ad esempio il wavelet Gabor non fornirebbe il comportamento che descrivi) possono rilevare anomalie del tipo di singolarità. Stavo cercando di fornire una descrizione analoga di come DWT può essere utilizzato per rilevare altri tipi di anomalie.
Ricco

È probabile che anche il secondo punto menzionato sia falso: il supporto wavelet (se è compatto) fornisce informazioni sulla localizzazione temporale della wavelet e non sulla localizzazione della frequenza.
Robin Girard,

Le wavelet discrete - o almeno la stragrande maggioranza di quelle implementate e comunemente utilizzate - sono in genere progettate per avere utili proprietà basate sulla frequenza sotto il vincolo di supporto compatto. La condizione del momento evanescente di Daubechies, per esempio, è più o meno equivalente alla planarità nella banda passante. Le proprietà di localizzazione in frequenza delle wavelet sono di solito ciò che porta i coefficienti a essere rappresentazioni sparse e consentono la stima della varianza del rumore in base al presupposto "segnale + rumore zero-additivo".
Ricco
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.