Tecnica di estrazione delle caratteristiche - Riepilogo di una sequenza di dati


11

Sto spesso costruendo un modello (classificazione o regressione) in cui ho alcune variabili predittive che sono sequenze e ho cercato di trovare raccomandazioni tecniche per riassumere nel modo migliore possibile per l'inclusione come predittori nel modello.

A titolo di esempio concreto, supponiamo che sia stato costruito un modello per prevedere se un cliente lascerà l'azienda nei prossimi 90 giorni (in qualsiasi momento tra t e t + 90; quindi un risultato binario). Uno dei predittori disponibili è il livello del saldo finanziario dei clienti per i periodi da t_0 a t-1. Forse questo rappresenta osservazioni mensili per i 12 mesi precedenti (ovvero 12 misurazioni).

Sto cercando modi per costruire funzionalità da questa serie. Uso descrizioni di ogni serie di clienti come media, alta, bassa, deviazione standard, adatta una regressione OLS per ottenere la tendenza. Sono i loro altri metodi di calcolo delle funzionalità? Altre misure di cambiamento o volatilità?

INSERISCI:

Come menzionato in una risposta di seguito, ho anche considerato (ma ho dimenticato di aggiungere qui) l'utilizzo di Dynamic Time Warping (DTW) e quindi il clustering gerarchico sulla matrice di distanza risultante, creando un certo numero di cluster e quindi utilizzando l'appartenenza al cluster come funzionalità. Il calcolo dei dati dei test dovrebbe probabilmente seguire un processo in cui il DTW è stato eseguito su nuovi casi e sui centroidi del cluster, abbinando le nuove serie di dati ai loro centroidi più vicini ...

Risposte:


7

mi piacerebbe vedere una scatola scritta che raccolse casi di studio sull'ingegneria / estrazione delle caratteristiche

Si prega di avvisare se questo aiuta

  1. Discretizzazione dei dati delle serie storiche http://arxiv.org/ftp/q-bio/papers/0505/0505028.pdf

  2. Ottimizzazione della discretizzazione di serie storiche per la scoperta della conoscenza https://www.uni-marburg.de/fb12/datenbionik/pdf/pubs/2005/moerchen05optimizing

  3. Vivere SAX: una nuova rappresentazione simbolica di serie storiche http://cs.gmu.edu/~jessica/SAX_DAMI_preprint.pdf

  4. Indicizzazione per l'esplorazione interattiva delle serie di Big Data http://acs.ict.ac.cn/storage/slides/Indexing_for_Interactive_Exploration_of_Big_Data_Series.pdf

  5. Estrazione di funzioni generalizzate per il riconoscimento di schemi strutturali nei dati di serie temporali http://www.semanticscholar.org/paper/Generalized-Feature-Extraction-for-Structural-Olszewski-Maxion/7838bcd87bb6616e9fd3ffd92d4676a7082da34c

  6. Calcolo e visualizzazione di allineamenti dinamici di distorsione temporale in R: il pacchetto dtw https://cran.r-project.org/web/packages/dtw/vignettes/dtw.pdf


2

Quello che stai cercando di fare qui è ridurre la dimensionalità delle tue funzionalità. È possibile cercare la riduzione della dimensionalità per ottenere diverse opzioni, ma una tecnica molto popolare è l'analisi dei componenti principali (PCA). I componenti principali non sono interpretabili come le opzioni che hai citato, ma fanno un buon lavoro nel riassumere tutte le informazioni.


La mia preoccupazione per questa risposta è che PCA non riconosce la chiara dipendenza tra le serie t e t + 1.
B_Miner

Se la dipendenza t + t + 1 è una tendenza o stagionalità, considera di estrarla e di occuparti del resto come di variabili indipendenti.
Diego,

2

L'estrazione delle caratteristiche è sempre una sfida e l'argomento meno affrontato in letteratura, poiché dipende ampiamente dall'applicazione.

Alcune idee che puoi provare:

  • Dati grezzi, misurati giorno per giorno. Questo è abbastanza ovvio con alcune implicazioni e pre-elaborazione extra (normalizzazione) al fine di rendere comparabili le tempistiche di diversa lunghezza.
  • Momenti più elevati: asimmetria, curtosi, ecc
  • Derivati: velocità di evoluzione
  • L'intervallo di tempo non è così grande ma forse vale la pena provare alcune funzionalità di analisi delle serie temporali come ad esempio l'autocorrelazione.
  • Alcune funzioni personalizzate come l'interruzione della sequenza temporale in settimane e la misurazione delle quantità già misurate ogni settimana separatamente. Quindi un classificatore non lineare sarebbe in grado di combinare, ad esempio, le funzionalità della prima settimana con le funzionalità dell'ultima settimana al fine di ottenere una visione dell'evoluzione nel tempo.

Bei suggerimenti! Puoi approfondire l'uso di derivati?
B_Miner,

Sono completamente d'accordo con la tua prima affermazione. Mi piacerebbe vedere una scatola scritta che raccolse casi di studio sull'ingegneria / estrazione delle caratteristiche. Il vantaggio è che la creazione di funzionalità è molto più importante dell'ultimo algoritmo più grande nelle prestazioni del modello predittivo.
B_Miner,

2

A prima vista, è necessario estrarre le funzionalità dalle serie temporali (x - 12) - x. Un possibile approccio consiste nel calcolare le metriche di riepilogo: media, dispersione, ecc. Tuttavia, perderai tutte le informazioni relative alle serie temporali. Ma i dati, estratti dalla forma della curva possono essere abbastanza utili. Ti consiglio di leggere questo articolo, in cui gli autori propongono un algoritmo per il raggruppamento di serie storiche. Spero, sarà utile. Inoltre a tale clustering è possibile aggiungere statistiche di riepilogo all'elenco delle funzionalità.


Grazie per il link Avevo anche preso in considerazione l'utilizzo di DTW e il clustering gerarchico. Ho sperimentato il pacchetto R per DWT. jstatsoft.org/v31/i07/paper
B_Miner

1
Ho preso in considerazione la creazione specifica di n cluster e l'utilizzo dell'appartenenza al cluster come funzionalità.
B_Miner,
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.