È possibile applicare PCA per i dati di serie storiche?


22

Comprendo che l'analisi dei componenti principali (PCA) può essere applicata sostanzialmente per i dati trasversali. La PCA può essere utilizzata in modo efficace per i dati delle serie temporali specificando l'anno come variabile della serie temporale ed eseguendo normalmente la PCA? Ho scoperto che la PCA dinamica funziona per i dati del pannello e la codifica in Stata è progettata per i dati del pannello e non per le serie temporali. Esiste un tipo specifico di PCA che funziona con i dati delle serie temporali?

Aggiornare. Lasciami spiegare in dettaglio.

Attualmente sto costruendo un indice per l'infrastruttura in India con variabili come la lunghezza della strada, la lunghezza del percorso ferroviario, la capacità di generazione di elettricità, il numero di abbonati telefonici ecc. Ho 12 variabili in 22 anni per 1 paese. Sebbene abbia esaminato documenti che applicano PCA su serie temporali e persino dati di panel, PCA è progettato per dati trasversali che presuppongono il presupposto. I dati del pannello e della sezione trasversale li violano e PCA non tiene conto della dimensione delle serie temporali in esso. Ho visto che il PCA dinamico veniva applicato solo ai dati del pannello. Voglio sapere se esiste un PCA specifico che viene applicato su serie temporali o che esegue PCA statico con l'anno definito come variabile di serie storica farà il lavoro?


2
L'analisi dello spettro singolare (SSA) è spesso chiamata PCA per le serie storiche. it.wikipedia.org/wiki/Singular_spectrum_analysis
Vladislavs Dovgalecs

1
Esamina alcuni dei post nella barra laterale a destra (->) che si riferiscono sia a PCA che a serie storiche. Se qualcuno risponde alla tua domanda, ti preghiamo di collegarlo nei commenti qui, ma se nessuno lo fa, potresti spiegare i modi specifici in cui il tuo problema differisce da uno di questi.
Glen_b

Nessuno di loro risponde alla domanda di pca nelle serie storiche. Domande specifiche sull'argomento riguardano la scienza o rimangono senza risposta.
Nisha Simon,

5
PCA, come strumento di trasformazione dei dati, riduzione della dimensionalità, esplorazione e visualizzazione, non fa alcuna ipotesi. Puoi eseguirlo su qualsiasi dato, compresi i dati di serie storiche. In effetti, il PCA è molto spesso applicato ai dati delle serie temporali (a volte si chiama "PCA funzionale", a volte no). Non so nemmeno cosa significhino "PCA dinamico" e "PCA statico"; non ti preoccupare e usa PCA standard.
ameba dice Reinstate Monica il

Puoi prendere in considerazione l'utilizzo di PCA funzionale, progettato in particolare per le serie storiche. Il pacchetto FDA in R ha implementato fPCA. Sarai in grado di trovare la fPCA multivariata.
Anne

Risposte:


8

Un approccio potrebbe essere quello di prendere le differenze di prima volta delle tue 12 variabili per garantire la stazionarietà. Quindi calcola 12×12 matrice di covarianza ed esegui PCA su di essa. Questo sarà una sorta di PCA medio per tutto l'arco del tempo e non dirà nulla su come i diversi timelag si influenzano a vicenda. Ma potrebbe essere un buon punto di partenza.

Se sei interessato a decomporre anche il dominio del tempo, verificherei SSA come suggerito nei commenti.

Quando le serie sono (presunte) stazionarie, una singola matrice di covarianza è significativa. Se i tuoi dati sono integrati di un ordine pari o superiore a 1, come sospetto possano essere, la stima di una singola matrice di covarianza non produrrà risultati coerenti. Una camminata casuale è ad esempio integrata nell'ordine 1 e la covarianza stimata di due camminate casuali non dice nulla sul loro co-movimento, qui è richiesta un'analisi di co-integrazione .

Come suggerito nei commenti, la PCA di per sé non si preoccupa della stazionarietà, quindi puoi alimentare la PCA con qualsiasi matrice semi-definita positiva e la decomposizione del PC andrà bene in senso PCA.

Ma se la tua matrice di covarianza stimata non rappresenta nulla di significativo sui dati, anche PCA non lo farà.


1
+1. Cosa intendi con "le prime differenze di tempo"?
ameba dice Reinstate Monica il

Intendo la prima differenza, quindi per ciascuna delle dodici x farei x_t - x_t-1.
Duffau,

Quindi suggerisci di fare PCA su derivati ​​del tempo di ogni serie temporale, al contrario delle serie storiche stesse. Interessante; perché questo sarebbe il tuo primo suggerimento?
ameba dice Ripristina Monica il

Per due motivi: 1) Perché la stima della covarianza sia coerente, le ipotesi trasversali normali sono che le due variabili casuali siano indipendenti e identicamente distribuite (iid). Ciò garantisce la convergenza della media del campione al valore atteso, la cosiddetta legge dei grandi numeri (LLN). Nell'analisi delle serie storiche, l'ipotesi che due processi stocastici siano proposti è restrittiva. Quindi viene sostituito con il concetto di stazionarietà (di molti tipi diversi). Perché la LLN mantenga e la stima della covarianza sia coerente, le due serie devono avere una distribuzione stazionaria congiuntamente.
Duffau,

Se ogni processo stocastico è stazionario, allora (sono assolutamente sicuro che lo siano) essi sono congiuntamente stazionari, quindi la stima della covarianza ha senso. Le prime differenze sono una tecnica standard in econometria per rendere le serie temporali "più stazionarie". E da qui la stima e il PCA sono diretti. Insomma, perché è facile :-) .... ok non c'era una seconda ragione ..
Duffau,

2

Sì, la PCA nelle serie temporali viene eseguita continuamente in ingegneria finanziaria (finanza quantitativa) e neurologia.

Xt×ptprt=log(Pt)log(Pt1)=log(Pt/Pt1)p×pXt×tmatrice di covarianza per giorni, con risorse in righe, al fine di comprimere i giorni correlati tra loro in un singolo PC, poiché l'idea generale è che i giorni possono essere ridondanti e quando si inseriscono dati in una rete neurale, ad esempio le righe di dati devono essere ridondanti o le funzionalità devono essere correlate (si desidera che siano ortogonali), poiché una rete neurale perderà tempo nell'apprendimento della correlazione. Questo approccio non si concentra sull'autocorrelazione, tuttavia.

γ=t/nXλ+Y=FnβX^=YY^. Wealth values (cumulative return) from portfolios constructed using weights derived from the new dataset (residuals) have been shown to be much greater than without using this approach. Last, there's also a basic method to remove the "market effect" or widespread correlation among stock returns by regressing the asset data on the first PC representing the major (greatest) eigenvalue, Y=f1β, and pulling back the residuals to represent the new data, which will have the widespread market correlation removed. (since the first PC always represents stocks with high multicollinearity). This approach addresses market sentiment hinged to "herd-mentality."

In neurology, PCA is run on time-series for action potentials in different wavelength bands obtained from an EEG. Transforming the action potentials into orthogonal (uncorrelated) PC score vectors and inputting the PCs into other analyses is the primary means by which statistical power was increased in statistical genetic modelling of complex traits for behavioral genetics (since phenotypes for e.g. bi-polar, novelty-seeking, schizotypal, schozephrenia often overlap). The large Australian genetic twin studies were instrumental in parsing out these overlapping traits in behavioral genetics, because if there are disease differences among identical twins which are reared together (grow up in the same household), causal inference may point to exposure in different environments when they were older instead of their identical genetics. (identical twins "share 100% of their genes all the time").

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.